This is compress utility, which can compress and decompress files.
go build .
file ./compress
# Get help
./compress
# Compress using Arithmetic coding
./compress c pushkin.txt cmp.bin ppm
# Compress using best of all (best result, very slow)
./compress c pushkin.txt cmp.bin best
# Decompress
./compress d cmp.bin orig.txt
go run main.go c pushkin.txt cmp.bin mock