2016/04/03

09:38

Was pretty worn out yesterday, so could not program as much.

12:50

In the future, I can have a virtual reflection API. Basically I create a class file parser and then define methods which can create, iterate, and invoke methods of another class. Such a thing could eventually be used for example in an IDE or similar. I could have an IDE for the creating and editing of programs for this so one can write code on said devices. I could also tie the interpreter into it too so that code may still run and be tested. I also have this idea of putting all of these notes into their own package which might be included in a distribution of sorts.

13:25

Now that the class file code is refactored (except for the interface bits but I can get to that later on), the next goal is the program parser and handler which will act as the basis for the compiler and the interpreter.

14:50

I wonder if LWUIT could be layered on top, this assumes that it is provided by Oracle as a library on top of vendor provided LCDUI and such. Looking at the classes in the binary, it looks like they can put it on top of the canvas and the game canvas. I would have to test this out in the future.

16:47

In a hypothetical Minecraft clone I could also have as a sample, I can have a repeating world. This would mean that world is a kind of sphere of sorts. Thus, the world would have a circumference of 33,554,431 meters. This would be about 0.84 times the circumference of the Earth, so it would be a slightly smaller size. The world would be 1.5 times the circumference of Mars but should still be smaller than Venus. This is assuming I can fully trust Wolfram Alpha and the data I put in without thinking about it.

23:05

On something completely unrelated to this software, this is something about the universe we could potentially live inside of. Thinking about it, if we were in a simulated universe one made and optimized in general for speed (for outside of the universe), then it would be likely that it would be an integral universe with no conditional operations. So far many physical equations are basically conditionless. When I say conditions, I mean stuff such as checking if a value is higher than another value and doing something, if it is not then something else is performed. Integers are very simple and the lowest possible value will be the absolute limit to what we can measure and detect in our own universe. Essentially, there will be nothing smaller than it and the universe would essentially be a giant array of pixels containing numerical values. Integers when compared to floating point, are generally faster to execute. One thing to consider however, is that outside of this universe the notion of our time and such is meaningless. However, the one universal thing is math. Math is very fundamental, a universe outside of this universe should follow the same rules, despite a difference in constants. The universe is extremely vast and would require a very extreme amount of memory. If the universe is simulated and it is binary, then we should eventually be able to use the same algorithm to store a binary universe. This would be a very effective compression algorithm, one which none of us has yet perceived. It also possible that such an algorithm does not exist, and regions of space can be placed within hash tables of hash tables. One thing to consider though that although the universe could be binary, that it is not limited to one or two dimensions. A universe for example could have 32 dimensions represented as an array with that many dimensions, all storing the given information. Each index in the array would influence adjacent indexes similarly using the same formula. This would enable theoretical circuits to be made which could efficiently calculate the cells of the universe. This would be a rather complex cellular automata. For example when using the standard game of life, cells next to other cells either are born, stay alive, or die depending on their neighbors. A similar case will have to be done without using such conditions. Thus, all cells would result in the same formula being calculating, but possibly only in a single dimension. When I say this, one dimension could for example could divide its value by 8 and then add that value to all of the neighboring cells and setting the current cell to 1/8th the original value. If all operations happen at the same time (as in a new array is set with the correct values) then the space would be rather uniform in that given dimension. However, across dimensions it is possible that a value of one cell uses a different formula to affect another cell in a completely different dimension, still without using conditionals. In the likely case all operations would be very basic. It is also possible that such operators being used are the primitive binary operations, such as AND, OR, and XOR to name the ones available in Java. Thus, one dimension could XOR adjacent cells and set all values to the same result so to speak. However as state before, it could OR it onto another dimension, where another could AND it back down. This would be a potentially interesting program to write. I do wonder though if it would be a distinct universe rather than uniform.