free software resistance
the cost of computing freedom is eternal vigilance
### fff.fig
*original date:* feb 2015
*orginally posted:* sep 2024
early fig demo:
```
p, "hello, world!", left 5, ucase, locate 5 7, prints, # comment,
x, int, plus 5, times 7, colortext 11, highlight 1, prints
y, 32, highlight 0, colortext 10, chr, prints
#while
# y, 10, print # these indents are optional, they don't do anything
# iftrue y
# # this command breaks from while, never from if:
# break
# fig
# wend
#textmode
z pset 10, 5, 10 colortext 7
z 32 chr print
#z sleep 2
#graphics
#z pset 10, 5, 10 colortext 7
#z sleep 2.5
function ppp
pppz 32 chr print
for p 1 100
pppx randint 0 3
pppy randint 0 3
pppc randint 1 7
pppz pset pppx pppy pppc
pppc colortext 7
next
fig
z ppp
z sleep 5
textmode
z ppp
z sleep 5
```
a version dated may 23, 2015 replaces commas with colons- fig originally allowed one to be used optionally, then the other. for many years it has allowed both- the only mandatory syntax in fig is "quotes on strings" and # hashes are comments:
```
p: "hello: world!": left 5: ucase: locate 5 7: prints: # comment:
x: int: plus 5: times 7: colortext 11: highlight 1: prints
y: 32: highlight 0: colortext 10: chr: prints
#while
# y: 10: print # these indents are optional: they don't do anything
# iftrue y
# # this command breaks from while: never from if:
# break
# fig
# wend
#textmode
z pset 10: 5: 10 colortext 7
z 32 chr print
#z sleep 2
#graphics
#z pset 10, 5, 10 colortext 7
#z sleep 2.5
function ppp
pppz 32 chr print
for p 1 100 1
pppx randint 0 30
pppy randint 0 30
pppc randint 1 7
pppz pset pppx pppy pppc
pppc colortext 7
next
fig
z ppp
z sleep 5
textmode
z ppp
z sleep 5
```
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