It is entirely self-contained (but needs zsh, not bash, for dumb reasons). Terminal at 90 columns works best.
It is just a very simple integer LFSR as a random number source, followed by a hand-made integer IIR filter (manually placing poles on the z-plane). All of this entirely with trivial integer operations only (effectively using 32 bit fixed point arithmetic)
So without any external input or tools at all, and not even using zsh's $RANDOM, it makes an "analog" weavy pattern.
Comments
Maybe you'll get a kick out of this, I did it in a bored afternoon a while back:
It is entirely self-contained (but needs zsh, not bash, for dumb reasons). Terminal at 90 columns works best.It is just a very simple integer LFSR as a random number source, followed by a hand-made integer IIR filter (manually placing poles on the z-plane). All of this entirely with trivial integer operations only (effectively using 32 bit fixed point arithmetic)
So without any external input or tools at all, and not even using zsh's $RANDOM, it makes an "analog" weavy pattern.
The LFSR is this part:
The hand-made filter is this part: I specifically tuned the filter peak just slightly away from being an integer divisor of 90 columns, to give the pattern a slight "rolling" effect.*What... the... fuck. Mind blown.
The zsh dependency is super unfortunate, though :(
It is amazing! With some brutal hacks to some array indices, and probably some excessive quoting changes it can work in Bash too:
This could probably be submitted to https://github.com/attogram/bash-screensavers/blob/main/gall...