• Homework: Game Engine in WebGPU (Re: Train yourself to become a nosomatic AI chirurgeon)

    From Mild Shock@janburse@fastmail.fm to sci.logic,sci.physics,comp.lang.prolog on Mon Aug 3 02:06:28 2026
    From Newsgroup: sci.physics

    Hi,

    Now that the debate with Chris M. Thomasson
    has culminated in questions of elasticity,
    I suggest this homework:

    - Game Engine in WebGPU
    It will support the life cycle of sprites,
    like sprites comming out of nowhere,
    and being destroyed by arms,
    just like in Space invader.

    This would be surely a fantastic exercise,
    to see what a GPU can do and cannot do,
    in respect of life cycle of threads, especially

    modern GPUs that sell the CUDA dream.

    Have Fun!

    Become a nosomatic AI chirurgeon.

    Bye

    Mild Shock schrieb:
    Hi,

    A nosomatic AI chirurgeon is a halfling student
    of sickness, and a master of the ebb and flow of
    the energies of life and death of data packets.

    He is a air bender, water bender and earth bender
    in one person, using OpenVINO to juggle with
    CPU, GPU and NPU.

    Last but not least he can freely switch between
    symbolic and neural representation of knowledge
    forms, there is no abyss for him.

    Bye

    Mild Shock schrieb:
    Hi,

    The nature of time has puzzled people -- from the ancient
    Greeks to the present day -- Especially the nosomatic
    perception of time is a hot topic now.

    How does time evolve inside a GPU with multiple units
    or a CPU with multiple cores. GPUs even having multiple
    logical threads inside a group.

    Forget the von Neumann model of computing. You need
    a total new thinking of shared memory and more
    message passing, and have a grip of vector and

    matrix tiling of problems. -C-WAM already deploys
    logic tiling in its Seven Eleven demonstrator. So forget
    everything you have learned in your BASIC computer

    course for your Sputnik Commodore C64 with 8088.

    Bye

    Mild Shock schrieb:
    Hi,

    Hyperspectral measurements for inter-calibration,
    reached a significant milestone this summer.

    The naval observatory only uses fidget spinners
    to measure time, so forget Colorado.

    Bye

    Ross Finlayson schrieb:

    So, there's at least three accounts of what can define
    "measurement of
    time", in the micro, meso, and macro.

    Then these days pretty much the world relies on "the naval
    observatory
    in Colorado" if not so much "the clock tower in Greenwich", as with
    regards to ye olde UTC, CUT, "Zulu", and so on, time.

    About relativity theory and "measuring rods and clocks", then, it's
    similar that "metric and norm" for "length and distance" also has
    about the Planckian what are "iota-values" as it would be, or, "Pauli >>> -a> Plancks", or "Dirac's Pauli Plancks", of measuring space, vis-a-vis, >>> -a> measuring time.


    So, there are at least three accounts of what defines measuring time, >>> -a> and at least three accounts of what defines measuring space.


    Then, since relativity theory is defined by what does that,
    it has the various ways, to so fulfill doing that.


    Yeah, I know, most "professional physicists" only have one of those
    on their little note-card with which they passed graduate school.

    Mild Shock schrieb:
    Hi,

    Ross Finlayson schrieb:
    Or shaves pennies.

    X-Machines Virtual Machine (XVMrao) is a neurosymbolic virtual AI >>>> -a>>> processor which combines neural processes with symbolic reasoning. >>>> -a>>> https://aws.amazon.com/marketplace/pp/prodview-6luxq22pgmehe

    Cost/hour: $200,000.00

    LoL

    Bye

    P.S.: If it could do some quant trading magic, one would
    possibly pay so much. But Logtalk is simply too lame:

    Version release notes
    XVM Engine v10.2.4 is the full engine capable of running
    all XVM and Logtalk programs, excluding for logtalk tools.

    Mild Shock schrieb:
    Hi,

    The 9122171.18175435 is a little offending, what if one
    keeps a federal secret after the 6 fraction digit?

    Bye

    Mild Shock schrieb:
    Hi,

    Ok, leaving the beaten path of my Prolog system
    probing, and look at some newer beast.

    This looks bad:

    ?- format('~6f', [pi**14]), nl.
    9122171.18175435

    Expected result:

    ?- format('~6f', [pi**14]), nl.
    9122171.181754

    Bye

    BTW: Tested using this test tester:

    X-Machines Virtual Machine (XVMrao) is a neurosymbolic virtual AI >>>>>> processor which combines neural processes with symbolic reasoning. >>>>>> https://aws.amazon.com/marketplace/pp/prodview-6luxq22pgmehe

    Mild Shock schrieb:
    See also:
    https://prolog-lang.org/ImprovementsForum/0110-format.html








    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Mild Shock@janburse@fastmail.fm to sci.logic,sci.physics,comp.lang.prolog on Mon Aug 3 18:17:28 2026
    From Newsgroup: sci.physics

    Hi,

    I've also added comp.theory so Mild Shock can comment.

    that has different
    * sizeof ( void * ), and
    * sizeof ( void (*)( void ) ),

    Could indicate a data RAM and code ROM model.
    Which has then the advantage of:

    Modern operating systems like Windows 11
    enforce strict Data Execution Prevention (DEP)
    (or NX/XD bit security features) to prevent
    malicious programs from injecting and executing
    code inside data-only memory regions. https://root-nation.com/en/soft-en/lifehacks/en-dep-windows-all-about/

    I adopted data RAM and code ROM model for
    pi-WAM from Hack, which has the same separation:

    Slide 58, Hack Computer https://drive.google.com/file/d/1Z_fxYmmRNXTkAzmZ6YMoX9NXZIRVCKiw/view

    But my motivation was not Johnny Depp prevention.
    Rather the caching of GPUs. Because WGSL
    allows storage annotations read_write and

    read. I use read_write for the data RAM
    of my Hack VM variant, and read for the
    code ROM of my Hack VM variant. You can

    see that here, its open source:

    @group(0) @binding(0) var<storage, read> code: array<i32>;
    @group(0) @binding(1) var<storage, read_write> state: array<i32>;

    11.4 Giga Lips with a Budget Laptop https://github.com/Jean-Luc-Picard-2021/gigabudget

    Hope this Helps!

    Bye

    Johann 'Myrkraverk' Oskarsson schrieb:
    On 03/08/2026 6:28 PM, David Brown wrote:
    On 03/08/2026 11:41, Richard Harnden wrote:
    On 03/08/2026 09:16, David Brown wrote:

    On most targets, function pointers are the same size as void*
    pointers. But there are exceptions, with some small microcontrollers and
    DSPs having different kinds of pointers with different sizes, depending
    on the memory space involved. I have yet to see a situation where there
    was any reason for storing a function address in a "void*" rather than a
    more appropriate typedef, such as :

    typedef void (*FVoid)(void);

    dlsym requires that pointer-to-function is compatible with a void*


    As I say, I have yet to see a situation where using void* for
    function pointers was more appropriate than using a function pointer
    type. If the OS system calls or standard OS libraries makes it a
    requirement that function pointers are converted to or from void* for
    some calls, then of course you need to follow those requirements - it's
    the people who designed the interfaces that made questionable design
    choices.


    Nope, you're wrong. You're dead wrong. The world isn't built on C,
    even though here in comp.lang.c we like to pretend it is.

    Several language environments allow function generation on the fly,
    these functions need to be garbage collected. Common Lisp is an
    example, therefore comp.lang.lisp is added to this discussion.

    I've also added comp.theory so Mild Shock can comment.

    You will have to go out of your way to make a computer architecture incompatible with garbage collected and heap allocated binary code, something I've been told SBCL does internally [1] to create an archi- tecture that has different

    * sizeof ( void * ), and
    * sizeof ( void (*)( void ) ),

    and when you do that, I'll just claim you're making a /malicious
    computer architecture/ and refuse to use it.


    [1] I've not looked at the code, but told the garbage collector can
    and will at least move the code around, if not collect it.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Mild Shock@janburse@fastmail.fm to sci.logic,sci.physics,comp.lang.prolog on Mon Aug 3 18:21:20 2026
    From Newsgroup: sci.physics

    Hi,

    Well there are two viewpoint, the "client"
    of the GPU, which is the CPU, and the "server"
    of the GPU, which is the command processor

    queue of the GPU device. So basically as
    a CPU client I can write the memory area,
    that is later mapped to my GPU code storage.

    And this way have a compiler, even written
    in Prolog, that compiles pi-WAM to my Hack VM,
    that can then be then deployed to GPU.

    You could also try the same with a Tiny
    LISP VM. And a grown up LISP to act as
    the compiler. Would be a similar exercise.

    Have Fun!

    Bye

    Mild Shock schrieb:
    Hi,

    I've also added comp.theory so Mild Shock can comment.

    that has different
    *-a sizeof ( void * ), and
    *-a sizeof ( void (*)( void ) ),

    Could indicate a data RAM and code ROM model.
    Which has then the advantage of:

    Modern operating systems like Windows 11
    enforce strict Data Execution Prevention (DEP)
    (or NX/XD bit security features) to prevent
    malicious programs from injecting and executing
    code inside data-only memory regions. https://root-nation.com/en/soft-en/lifehacks/en-dep-windows-all-about/

    I adopted data RAM and code ROM model for
    pi-WAM from Hack, which has the same separation:

    Slide 58, Hack Computer https://drive.google.com/file/d/1Z_fxYmmRNXTkAzmZ6YMoX9NXZIRVCKiw/view

    But my motivation was not Johnny Depp prevention.
    Rather the caching of GPUs. Because WGSL
    allows storage annotations read_write and

    read. I use read_write for the data RAM
    of my Hack VM variant, and read for the
    code ROM of my Hack VM variant. You can

    see that here, its open source:

    @group(0) @binding(0) var<storage, read> code: array<i32>;
    @group(0) @binding(1) var<storage, read_write> state: array<i32>;

    11.4 Giga Lips with a Budget Laptop https://github.com/Jean-Luc-Picard-2021/gigabudget

    Hope this Helps!

    Bye

    Johann 'Myrkraverk' Oskarsson schrieb:
    On 03/08/2026 6:28 PM, David Brown wrote:
    On 03/08/2026 11:41, Richard Harnden wrote:
    On 03/08/2026 09:16, David Brown wrote:

    On most targets, function pointers are the same size as void* pointers. But there are exceptions, with some small microcontrollers and DSPs having different kinds of pointers with different sizes, depending
    on the memory space involved.-a I have yet to see a situation where there was any reason for storing a function address in a "void*" rather than a more appropriate typedef, such as :

    -a-a-a-a-a typedef void (*FVoid)(void);

    dlsym requires that pointer-to-function is compatible with a void*


    As I say, I have yet to see a situation where using void* for
    function pointers was more appropriate than using a function pointer
    type.-a If the OS system calls or standard OS libraries makes it a requirement that function pointers are converted to or from void* for
    some calls, then of course you need to follow those requirements - it's
    the people who designed the interfaces that made questionable design choices.


    Nope, you're wrong.-a You're dead wrong.-a The world isn't built on C, even though here in comp.lang.c we like to pretend it is.

    Several language environments allow function generation on the fly,
    these functions need to be garbage collected.-a Common Lisp is an
    example, therefore comp.lang.lisp is added to this discussion.

    I've also added comp.theory so Mild Shock can comment.

    You will have to go out of your way to make a computer architecture incompatible with garbage collected and heap allocated binary code, something I've been told SBCL does internally [1] to create an archi- tecture that has different

    *-a sizeof ( void * ), and
    *-a sizeof ( void (*)( void ) ),

    and when you do that, I'll just claim you're making a /malicious
    computer architecture/ and refuse to use it.


    [1] I've not looked at the code, but told the garbage collector can
    and will at least move the code around, if not collect it.

    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Mild Shock@janburse@fastmail.fm to sci.logic,sci.physics,comp.lang.prolog on Sun Aug 9 19:46:41 2026
    From Newsgroup: sci.physics


    Hi,

    How do you break out of a loop,

    What Hamelt is to English language, is Hack to
    Compiler Construction. The playbook of Hack contains
    every drama that a Compiler Construction will face.
    In the following we show how we realized Project 6:
    Assembler from the Nand to Tetris journey via
    a little Prolog DSL.

    BTW, roughly or maybe not?
    Hack (the book) =
    Nand to Tetris (the website) =
    Nisan, N. and Schocken, S. (the authors)

    See also:

    -C-WAM Assembly: Comfortable Labels and Goto https://medium.com/2989/1a11dd512813

    Have Fun!

    Bye


    Mild Shock schrieb:
    Hi,

    pi-WAM is compiled to Hack VM. You
    can realize goto's wherever you want. The
    Hack VM I am using is a variant of:

    The Elements of Computing Systems
    Nisan, N. and Schocken, S. - June 15, 2021, MIT Press https://mitpress.mit.edu/9780262539807/the-elements-of-computing-systems/

    I just combine the 16-bit A and D instructions
    into single 32-bit instructions. You
    find a Hack VM interpreter for WebGPU here:

    11.4 Giga Lips with a Budget Laptop https://github.com/Jean-Luc-Picard-2021/gigabudget

    Hava Fun!

    Bye

    Mild Shock schrieb:
    Hi,

    Using Java sometimes doesn't make me a Java
    evangelist. I wouldn't care less about any
    programming language, because the idea of

    pi-WAM draws from pi-calculus and WAM. But
    since we are in 2026, not many people
    might remember pi-calculus:

    Functions as Processes
    Robin Milner - June 1989
    https://hal.science/docs/00/07/54/05/PDF/RR-1154.pdf

    AI chat bots know pi-calculus from time to
    time, while interacting, they spit out
    pi-calculus. I have always to tame them,

    and let them cool down, since well, the
    pi-calculus doesn't happen directly in the
    pi-WAM. Rather in the FFI, which has create

    operations on threads and queue, frankly my
    pi-WAM is an extremly crippled, has only
    a few primitives from pi-calculus.

    BYe

    Johann 'Myrkraverk' Oskarsson schrieb:
    On 29/07/2026 11:25 PM, Ross Finlayson wrote:
    On 07/29/2026 08:11 AM, Mild Shock wrote:


    Then, of course, the idea that it naturally employs or "saturates"
    the processor resources while doing work, in the low-level, yet
    also has a direct interpretation in higher-level languages, even
    "higher-level languages without GOTO", has also that it's faster
    in both machine-organized, compiled, and interpreted environments.

    Didn't you say in some other post you've done Java professionally?

    How do you break out of a loop, from within a switch () statement
    in Java? I gather that's simply impossible, because "goto" isn't
    implemented, and the "break" statement doesn't see labels outside
    the switch ()?

    Not sure how well that fits within comp.theory, as I haven't sub-
    scribed yet, but perhaps Mild Shock is willing to comment on that
    glaring deficiency in the Java programming language?




    --- Synchronet 3.22a-Linux NewsLink 1.2