free software resistance
the cost of computing freedom is eternal vigilance
### wheel.fig
*original date:* mar 2015
*originally posted:* sep 2024
originally a basic program, then a python script, this silly program was also ported to fig:
```
#'# hamster
#'# 2006, 2014 mennonite
#'# public domain
#'# ported to fig 2015
p "" colortext 15
p 27 chr plus "[?25l" prints
while
p "" locate 16 1 : plus " _--_ " prints
p "" locate 17 1 : plus " .`\ `. " prints
p "" locate 18 1 : plus " / \ \ " prints
p "" locate 19 1 : plus " \ \:)/ " prints
p "" locate 20 1 : plus " ',/\~\,' " prints
p "" locate 21 1 : plus " / '--' \ " prints
p "" locate 22 1 : plus " /________\ " prints locate 1 1
p "" sleep 0.02
p "" locate 16 1 : plus " _--_ " prints
p "" locate 17 1 : plus " .` | `. " prints
p "" locate 18 1 : plus " / | \ " prints
p "" locate 19 1 : plus " \ | :)/ " prints
p "" locate 20 1 : plus " ',/~/\,' " prints
p "" locate 21 1 : plus " / '--' \ " prints
p "" locate 22 1 : plus " /________\ " prints locate 1 1
p "" sleep 0.02
p "" locate 16 1 : plus " _--_ " prints
p "" locate 17 1 : plus " .` /`. " prints
p "" locate 18 1 : plus " / / \ " prints
p "" locate 19 1 : plus " \ / :)/ " prints
p "" locate 20 1 : plus " ',/\~/,' " prints
p "" locate 21 1 : plus " / '--' \ " prints
p "" locate 22 1 : plus " /________\ " prints locate 1 1
p "" sleep 0.02
p "" locate 16 1 : plus " _--_ " prints
p "" locate 17 1 : plus " .` `. " prints
p "" locate 18 1 : plus " /______\ " prints
p "" locate 19 1 : plus " \ :)/ " prints
p "" locate 20 1 : plus " ',\~/\,' " prints
p "" locate 21 1 : plus " / '--' \ " prints
p "" locate 22 1 : plus " /________\ " prints locate 1 1
p "" sleep 0.02
wend
```
by august 30 it would catch the error caused by ctrl-c so you could stop the loop without a traceback:
```
#'# hamster
#'# 2006, 2014 mennonite
#'# public domain
#'# ported to fig 2015
p = "" : colortext(15)
p = (27).chr().plus("[?25l").prints()
try
while
p = "" : locate 16, 1 : plus(" _--_ " ).prints()
p = "" : locate 17, 1 : plus(" .`\ `. " ).prints()
p = "" : locate 18, 1 : plus(" / \ \ " ).prints()
p = "" : locate 19, 1 : plus(" \ \:)/ " ).prints()
p = "" : locate 20, 1 : plus(" ',/\~\,' " ).prints()
p = "" : locate 21, 1 : plus(" / '--' \ " ).prints()
p = "" : locate 22, 1 : plus(" /________\ " ).prints() : locate 1, 1
p = "" : sleep 0.04
p = "" : locate 16, 1 : plus(" _--_ " ).prints()
p = "" : locate 17, 1 : plus(" .` | `. " ).prints()
p = "" : locate 18, 1 : plus(" / | \ " ).prints()
p = "" : locate 19, 1 : plus(" \ | :)/ " ).prints()
p = "" : locate 20, 1 : plus(" ',/~/\,' " ).prints()
p = "" : locate 21, 1 : plus(" / '--' \ " ).prints()
p = "" : locate 22, 1 : plus(" /________\ " ).prints() : locate 1, 1
p = "" : sleep 0.04
p = "" : locate 16, 1 : plus(" _--_ " ).prints()
p = "" : locate 17, 1 : plus(" .` /`. " ).prints()
p = "" : locate 18, 1 : plus(" / / \ " ).prints()
p = "" : locate 19, 1 : plus(" \ / :)/ " ).prints()
p = "" : locate 20, 1 : plus(" ',/\~/,' " ).prints()
p = "" : locate 21, 1 : plus(" / '--' \ " ).prints()
p = "" : locate 22, 1 : plus(" /________\ " ).prints() : locate 1, 1
p = "" : sleep 0.04
p = "" : locate 16, 1 : plus(" _--_ ").prints()
p = "" : locate 17, 1 : plus(" .` `. ").prints()
p = "" : locate 18, 1 : plus(" /______\ ").prints()
p = "" : locate 19, 1 : plus(" \ :)/ ").prints()
p = "" : locate 20, 1 : plus(" ',\~/\,' ").prints()
p = "" : locate 21, 1 : plus(" / '--' \ ").prints()
p = "" : locate 22, 1 : plus(" /________\ ").prints() : locate 1, 1
p = "" : sleep 0.04
wend
except
pass
resume
z = "" : print()
```
license: 0-clause bsd
```
# 2015 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