free software resistance
the cost of computing freedom is eternal vigilance
### cb
*original date:* jun 2018
*originally posted:* oct 2024
cb:
```
#!/usr/bin/env python
# coding: utf-8
#### license: creative commons cc0 1.0 (public domain)
####http://creativecommons.org/publicdomain/zero/1.0/
import math, time, sys, random
try: from colorama import init ; init()
except ImportError: pass
def color(f, b):
n = "0"
if f > 7: n = "1" ; f = f - 8
if f == 1: f = 4
elif f == 4: f = 1
if f == 3: f = 6
elif f == 6: f = 3
if b > 7: b = b - 8
if b == 1: b = 4
elif b == 4: b = 1
if b == 3: b = 6
elif b == 6: b = 3
sys.stdout.write("\x1b[" + n + ";" + str(30+f) + ";" + str(40+b) + "m")
def locate(l, c):
sys.stdout.write("\x1b[" + str(l) + ";" + str(c) + "H")
def cls():
sys.stdout.write("\x1b[2J\x1b[1;1H")
def qprints(q):
sys.stdout.write(str(q))
try:
while 1:
r = random.randint(2, 12)
color(random.randint(1, 15), 0)
xc = random.randint(1, 60)
yc = random.randint(1, 33)
for xy in range(-314, 315):
x = xc + math.cos(xy / 100.0) * r
y = yc + math.sin(xy / 100.0) * r
if int(x * 2) > 0 and int(x * 2) < 120:
if int(y) > 0 and int(y) < 34:
locate(int(y), int(x * 2)) ; print u"\u2588",
time.sleep(0.1)
except KeyboardInterrupt:
color(7, 0) ; qprints("\x1b[?25h") ; print ; print
quit()
k
```
license: 0-clause bsd
```
# 2018 mn
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
```
=> https://freesoftwareresistance.neocities.org