Thu Oct 20, 2011
Information Programming is based on Relationships
does it work to base programming on mathematics?
What if you based it on information theory?
What if we had information theory that worked?
That actually knew how to store actual information rather than just data?
What is information?
Information is something that means something to people?
A name or number without context means nothing.
A number without units means nothing.
A name or number without relationship means nothing.
We are talking about relationships fo data to something:
- relationships to standards: (units)
- relationships to contexts: (hierarchies of fields)
- relationships to each other: (relative strengths or priorities - endemes)
- relationships to the world: (OWL and conceptual networks and AI)
- relationships to actions: (classes and object orientation)
- relationships to math theory and concepts: (functional programming)
- relationships to customer needs: (problem solving and business rules)
- relationships to what is seen: (user interfaces)
- relationships to the computer: (What if you actually respected the computer?)
- relationships to hardware: (brains and brawn)
- relationships to hardware: (mind and cells in brain)
- relationships to where it came from: (date and source)
- relationships to who needs it: (uses and users)
What's missing is:
1. endemes* (why have endemes not already been discovered?
Why haven't we been using them for 50 years?)
2. a way to work with all of these kinds of information seamlessly
We base programming on mathematics and problem solving rather than information, and so programming is optimized for mathematics and deoptimized for information.
But without information optimization, we can not really build on what we have already done.
So the computer brains that might have been expected by this time in history haven't been built.
What other relationships are important?
* an endeme is an ordered list of concepts of a particular set
ABCDEFGHIJKLMNOPQRSTUV|lt label characteristic how to do it also called tendency
----------------------+------------------------------------------------------------------------------------------------------------------------
A]C- -O- |A. to actions - relationships to actions: (classes) object orientation layers
[B] -S- |B. to base/brain - relationships to hardware: (microprocessors) mind - cells in brain ?
[C] |C. to computer - relationships to the computer: (associates) respect the computer dialogs
A-[D] -O- -U-|D. to directives - relationships to doing, uses (workflows) directives, operations schedules
[E] P -S- |E. to each other - relationships to each other: (endemes) relative strengths/priorities aspects, patterns
-D[F] |F. to formats - relationships to documents: (files, formats) compilers & interpreters
-C-F[G] |G. to gen concepts - relationships to general concepts: (functional programming) abstactions
-F[H] |H. to hierarchy - relationships to contexts: (hierarchies) hierarchies xml
[I] -U-|I. to interfaces - relationships to what is seen: (user interfaces)
[J] |J. just data - realtionships to just data (RDB) relations huge tables
[K] |K. to kernel - relationships to kernel of program: (code, programs) programs, applications projects
[L]N- |L. to learning - relationships to learned responses (artificial nerual networks)
-B- [M] |M. to machines - relationships to hardware: (brains and brawn)
-C- [N] |N. to networks of - relationships to the world: (OWL) conceptual networks and AI
-D- [O] -S- |O. to origin - relationships to where it came from: (date and source)
A- -N[P] |P. to programs - relationships to programs: (services through networks)
-F--I- [Q]S- |Q. to questions - relationships to inquiries (query language) search
-B- -N-P[R] |R. to requirements - relationships to customer needs: (conditionals) problem solving business rules
[S]U-|S. to standards - relationships to standards: (units)
-D-F- [T] |T. to type of data - relationships to data types: (std data types) fields
[U]|U. to users - relationships to who needs it: (users)
[V|V. to vocalization - relationships to vocalization: (?) sounds
----------------------+-----------------------------------------------------------------------------------------------------------------------
ABCDEFGHIJKLMNOPQRSTUV|
[0]
comments (755 views) | | [0]
Trackbacks
Posted by: Jon Grover | Oct 20, 11 | 10:37 am
Tue Sep 06, 2011
Sub-continent Endeme Sets
Our world is made up of 14 subcontinents. Listed are two sub-continent endeme sets and then the particular case of our world. This can be used to artificially create world maps.
Sub-continent connector Endeme set
----------------------------------
ABCDEFGHIJKLMNOPQRSTUV| Description Example
----------------------+----------------------------------------------------------
A |A. archipelago
B |B. beasts and monsters
C |C. complex narrow ocean (Europe-Middle East)
D |D. great desert (Middle East-E Africa)
DE |E. Evaporated Ocean
EF |F. fierce or evil forces
G I |G. glaciers/ice cap
H P |H. great plateau (China-Indo)
I |I. isthmus (America-Latin)
J |J. just next to each other (Europe-Russia)
KL |K. killing waste/polution (Oz-farie lands)
L R |L. lakes and rivers (Canada-America)
M |M. great mountains (China-India)
N S |N. narrow or inland seas (Middle East-Russia)
O V|O. ongoing volcanics
P |P. great plains
Q S |Q. great swamp (Eurpoe-Russia)
R |R. rift system (e Africa-w africa)
S |S. straights
T |T. tennuous connection (Indo-Japan)
S U |U. underwater/submerged lands (Indo-Australia)
D V|V. different terrain types (Latin-Brazil)
----------------------+----------------------------------------------------------
ABCDEFGHIJKLMNOPQRSTUV| Description
Sub-continent Characteristic Endeme set:
----------------------------------------
ABCDEFGHIJKLMNOPQRSTUV| Description Example
----------------------+----------------------------------------------------------
A C S |A. ancient shield center (Canada)
B F I |B. in between (Russia)
C P |C. political cohesion (China)
D |D. diagonal
E |E. e half (eastern) (English Africa)
F |F. f half (western) (French Africa)
G |G. Glue (Middle East)
H |H. half sunken lands (Indonesia)
I |I. inserted/inner seas, arms of ocean (Middle East)
C J |J. complex coastline (Europe)
K |K. kernel area (Oz)
L |L. long (India,Indo-)
A M P |M. mixed onto another (India)
N |N. northern half
O |O. One terrain
P |P. Periphery of another (Far East/Japan)
Q |Q. Quadraleteral (Australia)
R |R. roundish (Australia, Antarctica)
S |S. southern half
T |T. triangle or cone shape (America, India)
U |U. unusual formation
V|V. various islands etc. (Japan/ far east)
----------------------+----------------------------------------------------------
ABCDEFGHIJKLMNOPQRSTUV| Description Example
Our World:
----------
ABCDEFGHIJKLMN|OPQRSTUV| Description
--------------+--------+----------------------------------------------------------------
A | U |A. America normal (terrains well represented)
B | |B. Brazil one main terrain
C | |C. Canada normal (old center of Rodinia)
A D |O |D. Australia (down under) normal (roundish)
E | |E. Europe complex shape
F | R T |F. E Africa (far Africa) normal (E half)
A G | S |G. Antarctica (glaciers) normal (roundish)
C H | |H. China (Han) political region
HI | |I. S Asia (India,indo-) normal (peripheral chunk)
F J | |J. Japan etc. (far east) periphery of China
K | R |K. Russia (Karelia) normal (in between)
L | |L. Latin America one main terrain (periphery)
M | |M. Middle East glue
N| |N. W Africa (near Africa) normal (W half)
--------------+--------+----------------------------------------------------------------
ABCDEFGHIJKLMN|OPQRSTUV|
+---+ +---+ +---+ +---+ +---+
| C | | E |--| R |--| C |--| J |
+---+ +---+ +---+ +---+ | J |
| | | | | J |area surrounding China
+---+ +----------+ +---+ | J |
| A | | Middle E |--| I |--| J |
+---+ +----------+ +---+ +---+
| | | |
+---+ +---+ +---+ +---+ +---+ +---+
| L |--| B | | N |--| F | | D | | G |
+---+ +---+ +---+ +---+ +---+ +---+
RC - (U) submerged lands
CA - (L) lakes and rivers
AL - (I) isthmus
LB - (V) great river system vs great mountain system
ME - (C) narrow complex ocean
MR - (NM) inland seas, mountains and deserts
MN - (D) great desert
MF - (D) great desert
MI - (MD) mountains, deserts
ER - (JQ) plains mountains and swamps
RC - (JD) central asian deserts and plains
CI - (HM) massive plateau and mountain system
ID - (U) half sunken lands and archipelago
FN - (R) rift system and jungles
JR - (N) narrow seas
JC - (NJ) areas surrounding China (periphery)
JI - (T) narrow lands/tennuous connection
[1]
comments (259 views) | | [0]
Trackbacks
Posted by: Jon Grover | Sep 06, 11 | 12:44 pm
Tue Aug 30, 2011
Five Whys of Information Modeling
Representational Interfaces,
Real Information
Once you can work with real information, you can build representational interfaces.
This allows for drill-down, customer modification and user creativity and empowerment.
Do you want to empower your customers or users?
why would you want to empower your users / customers?
- cut costs by having them support each other
- give customers better service and delight them
5 Whys
I want to work with real information
why? I can build representational interfaces.
why? This allows for drill-down, customer modification, and using the program directly
why? user creativity and empowerment.
why?
why would you want to empower your users / customers?
- cut costs by having them support each other
- have your users give customers better service and delight them
- beat the competition by getting a generation ahead technology
- have them market for you
- they will be able to understand and work directly with computers
- they will be free and not constrained by some company's idea of what they are allowed to do
- they can do things they could not do before.
why do you want that?
- civilization lives rather than dies; growth is life, stagnation is death
- they will feel joy in creating
- they will become more like me
- I will survive in this field
- they will do more things that are valuable
- their work will not be wasted
- the promise of the the creative knowledge worker will happen
[0]
comments (109 views) | | [0]
Trackbacks
Posted by: Jon Grover | Aug 30, 11 | 2:44 pm
Wed Dec 08, 2010
Converting Between data Formats using an Information Format
By having a system that converts back and forth between data and information, I can use the
information format to describe all of the data formats. I can do this using endemes. This is useful for electronic medical records. They are all similar enough to be able to have the same information format.
[0]
comments (3056 views) | | [0]
Trackbacks
Posted by: Jon Grover | Dec 08, 10 | 11:51 am
Thu Jul 29, 2010
A GUI is Really a Computer Language
A computer language is a way to tell a computer what to do. You can do this both with a GUI and with a regular computer language. Learning a GUI is like learning a Computer Language. They are both complicated. There are three differences.
- One is that a GUI is not consistent like a computer language tends to be.
- A second is that a computer language packs a lot more power.
- The other is that sometimes you can just learn a tiny bit of a GUI and start using it, when to practically use a computer language you generally have to learn a large chunk of it first.
Visio is a good example of this last. I use it a lot and yet I only know a tiny bit of it. I always use the basic shapes stencil and just use it as a simple drawing package, yet I can do some pretty cool things with it. Another example is the web browser. It has a few basic functions. An example of a GUI you have to know a lot about to use is Visual Studio. I use it extensively, using many of its features. I still have more to learn just like most computer languages I know. But you need to know a fair amount about it to use it productively.
Given the 'tiny piece' learning potential of a GUI and the 'packed with power' packed nature of a computer language, we could merge the two in some way and have some sort of GUI that really is a computer language, that is easy to start with, and has the power of a major language. Truly they are both languages. We can do this.
[0]
comments (2316 views) | | [0]
Trackbacks
Posted by: Jon Grover | Jul 29, 10 | 12:55 pm
Tue Jul 27, 2010
Why Don't we have a Graph Browser like a spreadsheet program?
In mathematics there is a diagram called an edge graph. It consists of a bunch of circles (vectors) each containing some element with a bunch of lines (edges) between them describing relationships and in many cases transitions between the circles. Its a basic mathematical way of representing systems.
We could have a tool for these graphs much the same was as Excel is for tables. It could include formulas like a spreadsheet program, data like a spreadsheet program, animation of tokens moving about the diagram, sub diagrams, general edge formulas, definitions and meanings, colors etc. It is the perfect way to represent certain kinds of information and it doesn't exist. Visio has some of these features, but it is waaaaay too complex for simple edge graphs. In addition, many GUI's could use such a tool for specific parts of themselves especially for things like work-flow. But there is no general tool.
I would like to see a simple edge graph GUI, especially one that can be ported to various applications as needed. We can do this.
[0]
comments (440 views) | | [0]
Trackbacks
Posted by: Jon Grover | Jul 27, 10 | 12:40 pm
Tue Jul 20, 2010
You can't Control a GUI
There are no control structures. You can click through a sequence of operations on a GUI however... If you want to tell a GUI to perform the same sequence 1000 times there is usually no way to do this aside from clicking through the sequence by hand 1000 times. If you want a conditional control structure so that one sequence operates on one kind of data and another on another kind of data, there is no IF-THEN in a GUI to do it. There is no CASE, there is no NOT, there is usually no ability to make subroutines, and yet the code behind the GUI can do all of these things. In the code behind they are simple. In the GUI there is no way.
We could come up with a way to include control structures in a GUI. First we would have to be able to trace a sequence of operations. Then we would have to have some sort of way of entering the control structures to use the traces. We could do it. The code is already there in the code that runs the GUI. We can do this.
[0]
comments (582 views) | | [0]
Trackbacks
Posted by: Jon Grover | Jul 20, 10 | 1:27 pm
Fri Jul 16, 2010
If GUI's understood people they would not need so much junk.
GUI's are filled with fields. Fields for this piece of data, fields for that. You need a field for every piece of data the application might need whether you needed it for a particular session or not. So GUI's end up with hundreds of half filled fields and unfilled fields, each with a little piece of data in it, each of which a user has to deal with in their head, which the GUI and application does not understand the relationship of.
To fix this we need information data structures. these would be generic data structures for holding information rather than data. here is a simple example. For some patients, we might only have the first and last name. For others we might also have middle name, nick name, alias, maiden name, internet handle and so on. What if the user could tell the GUI which name parts they wanted to store, and the GUI could display name fields as needed. Instead of having a dozen name fields on a page, a GUI might have just the three needed. And what if we had an information data structure that would facilitate the selection. And this is just a simple example.
We could really use information data structures through which users can interact directly with GUI's. We can do this.
[0]
comments (381 views) | | [0]
Trackbacks
Posted by: Jon Grover | Jul 16, 10 | 1:22 pm
Mon Jul 12, 2010
API's are the wrong way around the problem of GUI's.
The right way around the problem of GUI's is to fix the problem with GUI's themselves. API's are fine for programmers, but most people are not programmers. If you expose some a programming interface that's an API. If you expose some of the actual code in the program in a way that can be reset if broken and saved as changed, that's different. That gets around the problem of GUI's.
So what do you need to expose? You need to expose a control structure for some operations in the GUI so they can be run multiple times programmatically. You need to expose filters so they can be changed. You need to expose preferences and business rules. You need to display application status so the user knows what's going on. You need to expose the GUI structure so users can reorder their own GUI Instances. You need to expose the data itself so users can see and even modify it. You need to display the structure of the data. You need to expose a trace of what the user has done in a session and you need to expose information in some format rather than just data. Finally you need to display the program architecture so they can ask you to write more stuff. We can do this.
[0]
comments (412 views) | | [0]
Trackbacks
Posted by: Jon Grover | Jul 12, 10 | 9:02 am
Fri Jul 09, 2010
What Is a GUI anyway?
A GUI is something that stands between you and the computer you are trying to work with. Computers can analyze, store, create, display, connect, explore, and interact with data, information, people, and the world. GUIs provide a push button machine to allow a few of these things at a time, in a very limited and controlled way so that a user doesn't have to know and is not allowed to work with the underlying data that makes all of these things possible. It stands between you and all these wonderful things by allowing certain circumscribed operations with them, and it also prevents nearly all operations you might want to perform that were not part of the GUI's design to begin with.
We can make GUI's that provide the controlled interaction with the universe, but then also open up into a far richer interaction where people might want this. We can do this.
[0]
comments (431 views) | | [0]
Trackbacks
Posted by: Jon Grover | Jul 09, 10 | 1:07 pm