compudanzas

jarotsim

jarotsim is a playground for the discovery, exploration and livecoding of turing machines.

its objective is to promote experimentation and visualization of these foundational computational machines in a playful and joyful way.

four rows of tiles, each one with a different pattern of tiles and with a bird with a hat in a different pose and position

demo

video: jarotsim - demo

the music in the video is: xxrnbplanet - Dominic Loretti

Dominic Loretti

talk + demo

we have presented jarotsim publicly: jarotsim at hlci

video: jarotsim at hybrid live coding interfaces 2023 (with captions in english or spanish)

download

download jarotsim

jarotsim is programmed using LÖVE 11.4 and it is distributed as a .love file.

you can play this file in your mobile or not-so-mobile device(s) by downloading LÖVE for linux, macOS, windows or android:

LÖVE

the basics

a bird with a hat standing on a row of tiles with different designs

the bird with a hat stands...

the bird with a hat has a table of rules that tells what to do next.

the table of rules is read as follows: given a specific pose of the bird with a hat, and a specific tile design in the row where the bird is standing:

an active rule as described in the section below

the process is repeated over and over again. it might never end, unless the table of rules tells the bird with a hat to stop.

and yes, in case you didn't know yet, all of that is what a turing machine does!

modes

jarotsim has two modes:

edit mode

screenshot of the edit mode as described below

top row: current state

the top section of this screen allows you to modify:

you can clear the row of tiles by clicking on the bin icon at the top right corner.

table of rules

the rest of the screen allows you to modify the table of rules.

there is one rule for each combination of pose and tile; therefore there are sixteen rules.

depending on the size of the screen, you might be able to see them all, or you might need to use the arrows to rotate between the pages of the table.

a rule consists of the following elements:

an active rule as described below

the table of rules highlights the rule that would currently apply, given the pose of the bird and the tile design where they are standing.

the halt pose will hide the new tile design, and additionally it will never be highlighted.

a halt rule as described above

timeline mode

screenshot of the timeline mode as described below

the timeline mode accumulates several past iterations of the process so that you can see its evolution.

when the screen has been filled, the timeline automatically scrolls so that the current state is at the bottom.

the previous states are always arranged relative to the bird with a hat in the current state.

it's very encouraged to use this mode as a source of visuals for algoraves.

toolbar

the toolbar at the bottom has the following buttons, from left to right:

the toolbar can be used regardless of the mode that jarotsim is on.

therefore you can e.g. see how the rules are applied live, and even modify them while the bird with a hat is moving.

note that the bird will pause when it arrives at a rule with a halt pose. you won't be able to step or press play until you change the rule, the current pose, and/or the current tile design.

explore

four rows of tiles, each one with a different pattern of tiles and with a bird with a hat in a different pose and position

the initial state of jarotsim is based on a turing machine described by Wolfram in A New Kind of Science, page 80:

Turing Machines: A New Kind of Science | Online by Stephen Wolfram

it will generate an ever-growing and complex sequence starting from an empty row of tiles.

feel free to modify the rules to observe the changes in the behavior of the process.

additionally, we invite you to attempt the following:

have the bird with a hat...

setting up the sixteen possible rules in the table can be a little bit overwhelming, so remember that you can "turn off" a rule, a column and/or a row by using the halting pose.

have fun!

jarotsim icon: a bird with a hat

support

we will really appreciate it if you are able to pay for jarotsim, because you will help supporting our projects of human-scale computing and movement!

thank you! <3

about

jarotsim is inspired by turingsim as a simulator of turing-machine-based performances like d-turing or mub.

the objective is to have a graphical user interface where one can edit / livecode the rules of the machine and its tape, and explore their effects.

for the moment the idea is to have a maximum of 4 states and 4 symbols. according to Wolfram, they should be more than enough to explore complex behaviors.

Turing Machines: A New Kind of Science | Online by Stephen Wolfram

as of now, all of the machines described in máquinas de turing can be simulated in jarotsim.

incoming links