This is my favorite [1]. These are a fun exercise to program yourself. Fairly straightforward but also insightful and easy to create fun variations with.
I “clearly” see lots of dots appear and disappear. It feels direct and unassailable that I am seeing dots. But I never really see a single dot appear and disappear. (Without making a very selective effort.)
Clues like that suggest that the qualia answer has mechanistic explanation. The signal saying that we see something, directly and clearly, and actually seeing something, are separable.
Which is true for recognition of a previous experience (Deja vu), knowing (unquestioning belief), etc.
We experience certainties and experiences we deem direct, that we often attribute to reality, but the measure of certainty and directness themselves are just other signals only approximating or filling in (usefully confabulating) what we think they say.
Our experiences are absolutely full of invisible simplifications, internally created opaque illusions, of not only information, but meta-information.
They work as efficiencies because by design we do not have the natural ability to perceive or question them. No natural inclination to seperate seemingly deep experience from actually sparse internal sensory and meta status representations, or representations from reality (whether internal or external).
Using a stack based expression approach makes it easier to design images at the cost of being less flexible computationally. I have often pondered enhancements to make it more capable,and indeed Turing complete. Forth style word definition would work, but I also have a soft spot for state machines.
Very impressive! I have come across your website before as well. I really like how polished and sophisticated the demos are. Great work, and thanks for sharing!
I'd like to take this opportunity to share a couple of my own, much less impressive, tools that explore similar ideas:
I like the turtle one. Although I feel like with a minimal number of commands really wants the ability to define new ones.
like a:[xyz] defines further instances of a to be [xyz]
I think the thing that makes me want it is that it takes a loop 3 deep to recover the characters used to define it.
CC is shorter than [C]
and
CCCC is shorter than [[C]]
It's not until CCCCCCCC that [[[C]]] provides a gain. but that's also [[CC]] or [CCCC]
Unless you wanted to define things more literally. If you allowed a user defined a to be a literal [[[ and b to be ]F] then you could make some truly incomprehensible programs where it would be nigh on impossible to keep track of the nesting. Sick, but entertaining.
[update]
Late thought alternate theory. Byte pair encoding to create additional instructions.
a:bc defines a to be bc
so <:[[ and >:]] would define < and > to be double loops (while looking like bert and ernie smilies to boot) but more importantly you'd get some deliciously evil options like
X:RR // X becomes RR
Y:XX // Y becomes XX which is RRRR
Z:XY // Z become XY which is RRRRRR
L:ZR // L becoomes ZR which is RRRRRRR which is 7 rights So L is now one left
but if redefinition were allowed then A:B: would mean ACD would define B to CD and ADC would change B to DC. I did a few scribbles of ideas and I think there's a ridiculous amount of overly complex power in there.
As with randomly generated CA, I think the most interesting are the ones that exhibit some large scale characteristic which persists while micro states continue to evolve unpredictably, as for example:
I wonder if Stephen Wolfram has opined on the applicability of his 4 classes of CA behaviour (fixed, periodic, random, complexly structured) to this type of automaton?
I forked a fork of this and added extra functionality, including rating and sharing machines, variable simulation speed and canvas size here: https://aesort.com/Turing-Drawings/
There was once a similar page that generated a game-of-life game with randomized rules. Does anyone has that link?
The concept there was more restricted, but that made it more likely to produce interesting results.
A lot of the style of images this creates are similar to Cellular Automata. Especially when you have a piece of information move diagonally across the screen.
This is my favorite [1]. These are a fun exercise to program yourself. Fairly straightforward but also insightful and easy to create fun variations with.
[1]: https://maximecb.github.io/Turing-Drawings/#2,10,0,2,1,0,6,1...
Interest qualia experience I noted.
I “clearly” see lots of dots appear and disappear. It feels direct and unassailable that I am seeing dots. But I never really see a single dot appear and disappear. (Without making a very selective effort.)
Clues like that suggest that the qualia answer has mechanistic explanation. The signal saying that we see something, directly and clearly, and actually seeing something, are separable.
Which is true for recognition of a previous experience (Deja vu), knowing (unquestioning belief), etc.
We experience certainties and experiences we deem direct, that we often attribute to reality, but the measure of certainty and directness themselves are just other signals only approximating or filling in (usefully confabulating) what we think they say.
Our experiences are absolutely full of invisible simplifications, internally created opaque illusions, of not only information, but meta-information.
They work as efficiencies because by design we do not have the natural ability to perceive or question them. No natural inclination to seperate seemingly deep experience from actually sparse internal sensory and meta status representations, or representations from reality (whether internal or external).
This (along with ibniz) was one of my inspirations for https://c50.fingswotidun.com/
Using a stack based expression approach makes it easier to design images at the cost of being less flexible computationally. I have often pondered enhancements to make it more capable,and indeed Turing complete. Forth style word definition would work, but I also have a soft spot for state machines.
Little toys like these are things I would recommend everyone have a go at. I have quite enjoyed https://tixy.land/ and https://www.dwitter.net
Very impressive! I have come across your website before as well. I really like how polished and sophisticated the demos are. Great work, and thanks for sharing!
I'd like to take this opportunity to share a couple of my own, much less impressive, tools that explore similar ideas:
https://susam.net/cfrs.html (Turtle graphics but with only 6 commands)
https://susam.net/fxyt.html (Inspired by Tixy but stack-based with 36 instructions)
To see the demos, click or type '?' and then scroll down to the bottom of the manual.
I like the turtle one. Although I feel like with a minimal number of commands really wants the ability to define new ones.
like a:[xyz] defines further instances of a to be [xyz]
I think the thing that makes me want it is that it takes a loop 3 deep to recover the characters used to define it.
CC is shorter than [C] and CCCC is shorter than [[C]]
It's not until CCCCCCCC that [[[C]]] provides a gain. but that's also [[CC]] or [CCCC]
Unless you wanted to define things more literally. If you allowed a user defined a to be a literal [[[ and b to be ]F] then you could make some truly incomprehensible programs where it would be nigh on impossible to keep track of the nesting. Sick, but entertaining.
CC[[[[[[[[[FFF]FR]FR]FRS]FSR]]]][[FR]]CRRRFR[RFRRR[[[[FFF]]]]]CCCCCCC[[FF]]CCCCCCC[[[F]F]F]CCCC[[[[[[RF]FFR][[[F]]R]R[[[FS]]RS]]]]
[update] Late thought alternate theory. Byte pair encoding to create additional instructions.
a:bc defines a to be bc
so <:[[ and >:]] would define < and > to be double loops (while looking like bert and ernie smilies to boot) but more importantly you'd get some deliciously evil options like
but if redefinition were allowed then A:B: would mean ACD would define B to CD and ADC would change B to DC. I did a few scribbles of ideas and I think there's a ridiculous amount of overly complex power in there.As with randomly generated CA, I think the most interesting are the ones that exhibit some large scale characteristic which persists while micro states continue to evolve unpredictably, as for example:
https://maximecb.github.io/Turing-Drawings/#4,4,1,3,2,3,2,0,...
I wonder if Stephen Wolfram has opined on the applicability of his 4 classes of CA behaviour (fixed, periodic, random, complexly structured) to this type of automaton?
It's interesting how some of them halt after a while and some of them don't. I wonder if one could figure out which ones do and which ones don't?
None of them halt, since no halting state is ever introduced into these canvas dwelling TMs :-(
I think GP is actually asking whether we can determine if one enters a steady state, i.e. tape no longer changes.
You are kidding, right? [0]
[0] https://en.wikipedia.org/wiki/Halting_problem
It was a (not particularly funny) joke.
I thought it was great :)
These are FSMs though, as the tape is finite.
I forked a fork of this and added extra functionality, including rating and sharing machines, variable simulation speed and canvas size here: https://aesort.com/Turing-Drawings/
Those are useful adaptations.
https://aesort.com/Turing-Drawings/#2,16,1,6,3,0,11,0,1,5,1,...
There was once a similar page that generated a game-of-life game with randomized rules. Does anyone has that link? The concept there was more restricted, but that made it more likely to produce interesting results.
This one has a few satisfying phases: https://maximecb.github.io/Turing-Drawings/#5,3,4,2,2,0,2,1,...
a short film: https://maximecb.github.io/Turing-Drawings/#7,3,5,2,0,6,2,1,...
long time to reach NESS (if it does at all): https://maximecb.github.io/Turing-Drawings/#7,3,3,1,0,0,2,3,...
Cool glyphs: https://maximecb.github.io/Turing-Drawings/#4,4,0,2,1,3,1,0,...
I'll share some of the interesting ones I found!
https://maximecb.github.io/Turing-Drawings/#8,3,6,1,0,0,1,1,...
https://maximecb.github.io/Turing-Drawings/#8,3,3,1,1,3,1,3,...
https://maximecb.github.io/Turing-Drawings/#2,22,1,2,3,1,16,...
Some I liked and/or found interesting:
- https://maximecb.github.io/Turing-Drawings/#4,3,0,2,1,1,2,0,...
- https://maximecb.github.io/Turing-Drawings/#6,6,4,2,3,0,4,2,...
- https://maximecb.github.io/Turing-Drawings/#6,6,0,5,2,4,3,1,...
- https://maximecb.github.io/Turing-Drawings/#3,6,2,5,1,2,3,3,...
here are some of my best finds:
- https://maximecb.github.io/Turing-Drawings/#4,3,1,2,3,3,1,0,...
- https://maximecb.github.io/Turing-Drawings/#6,3,2,1,0,4,1,1,...
- https://maximecb.github.io/Turing-Drawings/#7,3,4,1,2,6,1,3,...
- https://maximecb.github.io/Turing-Drawings/#7,3,5,1,1,6,2,3,...
A thread 11 years ago https://news.ycombinator.com/item?id=6693653
And also her article on it https://pointersgonewild.com/2012/12/31/turing-drawings/
A lot of the style of images this creates are similar to Cellular Automata. Especially when you have a piece of information move diagonally across the screen.
(Seizure warning, for many of these)
This is interesting, looks like different patterns at different levels of zoom.
https://maximecb.github.io/Turing-Drawings/#20,2,16,1,2,9,1,...
This one leaves a nice impression on your eyes if you stare at it: https://maximecb.github.io/Turing-Drawings/#4,5,2,3,3,0,3,1,...
I made Langton's ant!
https://aesort.com/Turing-Drawings/#4,2,1,1,1,2,1,3,3,1,0,0,...
Why does this look like a perfect representation of TV static?
https://maximecb.github.io/Turing-Drawings/#4,3,3,1,0,3,1,1,...
I dunno, I took one look at it and thought 'this clearly wasn't influenced by the Cosmic Microwave Background at all! I can tell by the pixels'.
TV static is random. This is basically a pseudo-random generator.
Is it possible to work backwards and take a video and turn it into a turing machine using this format?
Very impressive! There is something earie and disturbing about the animation, some primal instincts triggered.
some of them, somehow, look depressingly similar to out world, i feel uneasy watching it being destroyed
Very cool! Stumbled upon this curious ‘phase separation’. There’s something natural and familiar in the chaos, complexity and decay.
https://maximecb.github.io/Turing-Drawings/#2,10,1,6,1,0,2,0...
The "rapids" example is impressively natural and organic looking.