Knowledge object

This forum is meant for anything you would like to share with other visitors
Post Reply
User avatar
lumberjack
Posts: 723
Joined: Fri Sep 25, 2015 3:11 pm

Knowledge object

Post by lumberjack »

I quote from Terry in the "VFP has stirred something" thread in the Welcome section:

Code: Select all

In real life we may leave home, go to work, pick up tools from somewhere, arrive at work, use tools and our own skills to do the work. Then we go home. All that matters is the work we do when we get to our place of work. Essentially just us and our skills.
Believe me, that can be mapped logically into what our program code is doing. Going from home to work, jumping all over the place to pick up tools and so on. All that is intrinsically within our code base. All that matters is what we do. Manipulating the modules in managed code (using Roslyn) does just that final bit. If we change the final bit only we can do all the rest just as we've always done.  Don't change the code that gets us to work.
I have done some work regarding this matter before my vision deteriorated to the extend that I was unable to work. Now that I am recovering from my illness, it is maybe time to share what I started.

It does not matter what our believes are, we all have a believe about existence... There was a beginning (negative infinity), the Creator and there will be an end (positive infinity), the Terminator. It is what we define as time. So lets try and present it with X# code:

Code: Select all

STATIC CLASS KnowledgeTimeSpan
	STATIC PROPERTY Creator AS DateTime GET DateTime.MinValue
	STATIC PROPERTY Create AS DateTime GET DateTime.MinValue + TimeSpan{1}
	STATIC PROPERTY Start AS DateTime GET DateTime.MinValue + TimeSpan{2}
	STATIC PROPERTY Past AS DateTime GET KnowledgeTimeSpan.Now - TimeSpan{1}
	STATIC PROPERTY Now AS DateTime GET DateTime.Now
	STATIC PROPERTY Future AS DateTime GET KnowledgeTimeSpan.Now + TimeSpan{1}
	STATIC PROPERTY Finish AS DateTime GET DateTime.MaxValue - TimeSpan{2}
	STATIC PROPERTY Terminate AS DateTime GET DateTime.MaxValue - TimeSpan{1}
	STATIC PROPERTY Terminator AS DateTime GET DateTime.MaxValue
END CLASS
Everything that has happened, happen or will happen can be given a "Tick" in time in the above class of "All time that existed".

Code: Select all

IF Anything:Now < KnowledgeTimeSpan.Now
  happen := "Has happened"
ELSEIF Anything:Now > KnowledgeTimeSpan.Now
  happen := "Will happen"
ELSE
  happen := "Happening"
ENDIF
If we look at the smallest (known) matter (pixel in computer terms) in the Universe of Time using the logic of the Knowledge of Time, from its center Point(0, 0) represented as a square with 8 adjoining neighbours Dimension(-1|0|1, -1|0|1):

Code: Select all

ABSTRACT INTERNAL CLASS TheCenter
	PROTECT _txt AS STRING
	STATIC PROPERTY Creator AS Point GET Point{TheCenter.Now:X-1, TheCenter.Now:Y-1}
	STATIC PROPERTY Create AS Point GET Point{TheCenter.Now:X-1, TheCenter.Now:Y}
	STATIC PROPERTY Start AS Point GET Point{TheCenter.Now:X-1, TheCenter.Now:Y+1}
	STATIC PROPERTY Past AS Point GET Point{TheCenter.Now:X, TheCenter.Now:Y+1}
	STATIC PROPERTY Now AS Point GET Point{0, 0}
	STATIC PROPERTY Future AS Point GET Point{TheCenter.Now:X, TheCenter.Now:Y-1}
	STATIC PROPERTY Finish AS Point GET Point{TheCenter.Now:X+1, TheCenter.Now:Y-1}
	STATIC PROPERTY Terminate AS Point GET Point{TheCenter.Now:X+1, TheCenter.Now:Y}
	STATIC PROPERTY Terminator AS Point GET Point{TheCenter.Now:X+1, TheCenter.Now:Y+1}
	PROPERTY Name AS STRING GET SELF:_txt
END CLASS
We know actually that we looking at a multi-dimensional center, so in real life we will not present it as a "flat" matter, but rather as the centre of a Rubik cube giving us 9x9 -1=80 angles to look at from the center or 80 angles to look at the center.

Where is our matter, well for it to exist it needs to matter at the point in time that matters, hence it can only exist if the center point of Time KnowledgeTimeSpan:Now the Point(0,0) overlaps with TheCenter:Now == Point(0,0). That is not really possible because time is multi-dimensional, so we need an object to reference everything to, the Universe is created. The one thing we can say, the Center of the Universe Point(0, 0) will always intersect with TimeSpan, no matter where we are in time, Time.NegativeInfinity:Now to Time.PositiveInfinity, the center of the Universe stays constant Point(0,0). Everything inside the Universe (the Matter) is in a multi-dimensional state in the Universe with an exact Point (location) relative to the center, at a given time (Now) doing an action (nothing, move) which can be determined by comparing the history to the Now, we can determine the path of history. No matter in the Universe can be at the Now at the same time. Every matter that does not describe the Universe at the Now, unmatter...

It is for us as Thinkers/Developers to use the above model to program what matters and ignore the unmatter...
Terry
Posts: 306
Joined: Wed Jan 03, 2018 11:58 am

Knowledge object

Post by Terry »

Hi Johan

Good thinking to transfer to new thread.

Your thinking runs quite deep. Not sure I think of things the same way - but that does not matter one jot.

The fact is that we all think differently. We all understand things differently, in a way that suits us as individuals. It must be this way since understanding is built up over time as we, individually, integrated newly acquired facts and experiences with what we already know.

The only common thing we have, is the world around us. It is the same world, imposes the same constraints wherever we may be.

It is 3 dimensional.

Our computers operate in this real world. Their electronics operate in this real world. Electrical energy flows in the wiring of our computers and is restricted by real world constraints. Flow rate is what we conceive as the speed of light. It is pure theory which explains our observations.

Our brains and intelligence however allow us to escape some of those constraints. But not the constraint of 3 dimensions. We can mentally leap around in space. But I, for one, have never seen a four dimensional object.

We can mentally leap around in time. But it only going backwards that we can be certain of things (and that's only if our memories are good).

Our computers can "look backwards" with near certainty. (Not perhaps absolute because all sorts of things may go wrong - power failure). But close enough because we lock things conceptually to natural behaviour - oscillator).

Explanations of all this can run deep and to many, too many, pages of text. Do we, as programmers need to do this. I suggest not, just accept it as fact.

FWIW I have a simple mental picture of our applications being classes (or boxes if you like) floating about in free space (3D Remember) all linked up. Like flying a load of kites. To ensure efficiency and integrity we need to make sure the control lines don't get tangled up.

I accept that this is a "picture" that may not resonate with some, but I hope a few get the idea.

How do we share that sort of concept between our programmer selves? Well we can just use well established diagramming techniques - multiple diagrams using a range of perspectives, and letting another individual interpret as he/she sees fit.

Terry
Terry
Posts: 306
Joined: Wed Jan 03, 2018 11:58 am

Knowledge object

Post by Terry »

I have attached a diagram which I produced a while ago, mainly to clarify things in my own mind.

I hope it makes some sense to others and will serve to give the Emperor a few clothes to wear over the winter months.

Of course, trying to explain things by way of analogy is a risky business. We all think differently and there are numerous analogies we could use – all equally valid.
In the diagram I had a slightly different analogy in mind to the one I outlined to Wolfgang. Here I was using the idea of building a house on a given plot of land, bringing all the tradesmen together via various routes together with the necessary building materials.

Then simply doing the same thing, building another house on somewhere else.

I have tried to map the whole process, not just to the logic of our code, but also to the underlying hardware of our computer.

I see several “reads across” here. Rail Travel – constant speed of electronic current flow, stations, platform transfer seems to tie in with Johan’s Data Driven Programming and so on.

But the real link here, and what makes complex things easy to understand, is time. We can eliminate it from any initial thinking then re-instate it later. We are effectively mapping real world activities taking weeks, months or years to electronic actions taking nano-seconds or less.

As Phil may have said “I hope it makes some sense to some”

Terry
Attachments
Clothes For The Emperor.pdf
(491.36 KiB) Downloaded 21 times
Post Reply