free software resistance
the cost of computing freedom is eternal vigilance
### vcircle.py
*original date:* oct 2014
*orginally posted:* sep 2024
another text circle program:
```
#!/usr/bin/env python
# coding: utf-8
#### license: creative commons cc0 1.0 (public domain)
#### http://creativecommons.org/publicdomain/zero/1.0/
#### text circles
#### 2008/2014 menn
import math, time, sys, random
try: from colorama import deinit ; deinit() # uncomment for windows
except ImportError: pass # this one too
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, 80)
yc = random.randint(1, 22)
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) > 0 and int(x) < 80:
if int(y) > 0 and int(y) < 24:
locate(int(y), int(x)) ; print u"\u2588",
time.sleep(0.01)
except KeyboardInterrupt:
color(7, 0) ; qprints("\x1b[?25h") ; print
quit()
```
license: 0-clause bsd
```
# 2014 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