77 lines
3 KiB
Markdown
77 lines
3 KiB
Markdown
# GDXApp⁴ᴰ
|
||
|
||
In Duytschen "Geloof Doom eXtensie APPlicatie 4D" which tranlates to: faith doom extension application 4D.
|
||
|
||
Is a demo or POC of TempleOS Next Generation coded in java with libGDX and ImGui.
|
||
|
||
Final version will be written in HolyC++ on TempleOS and runs on dedicated 144 bit hardware.
|
||
|
||
All code is junk, q&d play code, ideas, etc.
|
||
|
||
For masters and slaves only.
|
||
|
||
TODO:
|
||
- Move and merge unitXC+basic+step2 code to NX-01
|
||
- Move and rewrite unicode4D to NX-01
|
||
- Move fonts+apps to real hyper+nostr redsea filesystem of NX-01
|
||
|
||
## Project Features
|
||
|
||
* Single Endpoint Application model (user)
|
||
* Single Window Application model (touch)
|
||
* Single MenuBar Application model (tricorder)
|
||
* Applications are distributed as OSGI bundles
|
||
* Blockchain distribution and storage to boot apps and OS from
|
||
* Unicode4D 72 bit glyph sequence blocks and rendering
|
||
|
||
## Project Setup
|
||
|
||
Requirements;
|
||
|
||
* 8GB of free memory
|
||
* Setup a DAT Hyperdrive tool [drives](https://github.com/holepunchto/drives)
|
||
* run `mvn install` in local copy of nx01 project
|
||
|
||
### Project Launch
|
||
|
||
Test launch from command line;
|
||
|
||
```
|
||
mvn verify -P test-none,run
|
||
```
|
||
|
||
In an IDE setup an runner with the main class from gdxapp4d-boot-desktop module; `love.distributedrebirth.gdxapp4d.boot.desktop.GDXAppDesktopLauncher`
|
||
|
||
And append `use-local` as an argument of the main launcher to use the local chains. (as the real are fake)
|
||
|
||
## Duytschen Code
|
||
|
||
Is moved to the NX-01 code runtime for none-english enterprice ships;
|
||
|
||
buiten ℭheɱMolecǔūl ringZaad(ℭheɱMolecǔūl 大胸部, GroßGetậl 養花) {
|
||
GroßGetậl 征服天空 = חדמצילעול/םומלואו; //S4a: מי שמציל אדם א ©Δ∞ 仙上主天
|
||
tê̄ruʛγ ℭheɱ@Ω.orbitalSkeleŦŧgPÅd-₇ɛͣ₉(大胸部, 征服天空, M̋atƕ.π√θ33°, 養花);
|
||
}
|
||
|
||
### The BASIC Prayer
|
||
|
||
Lets review the answer given by the or-acle; [Thread.yield()](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Thread.html#yield())
|
||
|
||
Firstly its an method which requires no input and has no output.
|
||
Secondly its an hint without predefined usage pattern or functional outcome.
|
||
The other paragraphs try to explain its usage, but fail to add an example like;
|
||
|
||
Running multi-processor code on single cpu OR on an over-utilise cpus requires yielding to avoid async deadlocks in parallel work distributions trees.
|
||
|
||
Also in high performance parallel code, yielding control out of consent, may result in better performance than forced interruption or time slicing.
|
||
Especially when working with an live non-homogeneous workload.
|
||
|
||
Writing and simulating parallel code paths is not easy. So most developers use a library which comes with default configured options.
|
||
Then feed it small batches of work and hope for the best.
|
||
|
||
Now simulate with ~7833661741 threads using X different libraries and try to avoid deadlocks.
|
||
By replacing a few words, this changes the description to the faith-by-math yielding version;
|
||
|
||
A hint to the π-creator that the current human is willing to yield its current use of a itself.
|
||
The π-creator is free to ignore this hint.
|
||
|