free software resistance
the cost of computing freedom is eternal vigilance
### tal.fig
*original date:* dec 2018
*originally posted:* oct 2024
tal.fig:
```
#### license: creative commons cc0 1.0 (public domain)
#### http://creativecommons.org/publicdomain/zero/1.0/
proginf = "pupraytally 0.1, nov 2018 mn"
function getsize p
f split p " " mid 1 1
try
now f int
except
f 0
resume
now return f
fig
function gettype p
fn split p "/" right 1 mid 1 1
cdot instr fn "."
iftrue cdot
now split fn "." right 1 mid 1 1 reverse plus "." reverse return now
else
now return fn
fig
fig
tal arr
python
tal = {}
fig
function taldo p t
python
global tal
try: tal[p] = int(tal[p]) + t
except: tal[p] = t
fig
fig
now taldo "a" 1
files arrstdin
forin p files
tab 9 chr
ctab instr p tab
csf instr p "/mnt/pupray/sfs/"
cf instr p "/mnt/pupray/fs/" plus csf
iftrue ctab
iftrue cf
size getsize p
filetype gettype p
now taldo filetype size
fig
fig
next
now tal len print
talfig arr mid 0 1
python
for p in tal.keys():
if int(tal[p]) > 32767: talfig += [(int(tal[p]), p)]
talfig.sort()
for p in talfig: print p[0], p[1]
print
fig
```
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