This piece has been done using ClickHouse, by running it directly in the ClickHouse client from the terminal.
SELECT arrayStringConcat(groupArray(concat('\x1b[1;31;4', toString(if(mod(number, 8) in (0, 2, 4, 6, 8), 9, toInt32(randUniform(1,8)))), 'm ', '\x1b[2;37;0m'))) FROM numbers(10000) format LineAsString
SELECT splitByGroupArray(if(mod(number, 5) != 0, concat('\x1b[1;31;4', toString(if(mod(number, 8) in (0, 2, 4, 6, 8), 9, toInt32(randUniform(1,8)))), concat('m '), '\x1b[2;37;0m'), '#')) FROM numbers(10000) format LineAsString
SELECT
arrayStringConcat(
groupArray(
concat(
'\x1b[1;31;4',
toString(if(mod(number, 8) in (0, 2, 4, 6, 8), 9, toInt32(randUniform(1,8)))),
'm ',
'\x1b[2;37;0m'
)
)
)
FROM numbers(3900)
FORMAT LineAsString;
watch --color -n 1 "clickhouse-local --query=\"SELECT arrayStringConcat(groupArray(concat('\x1b[1;31;4', toString(if(mod(number, 8) in (0, 2, 4, 6, 8), 9, toInt32(randUniform(1,8)))), concat('m', repeat(' ', toInt8(randUniform(1, 1)))), '\x1b[2;37;0m'))) FROM numbers(10000) format LineAsString;\""