olle / lz77-kit

Some LZ77 compression utilities for the handy hands-on developer in search for a few less bytes of I/O.
http://www.studiomediatech.com/projects/lz77-kit
MIT License
65 stars 23 forks source link
compression-algorithm cs-education educational-project learning utility

LZ77 Kit

The lz77-kit is aimed at being another tool in the web-persons tool belt, enabling a simple and very pragmatic compression utility for various languages. It's perhaps not the sharpest compression-knife for heavy-duty cutting, but may suite some craft-peoples needs.

This could be a simple way for you to throttle down on some of that bandwidth usage, at least a few bytes or so. And a byte saved is a byte earned!

Currently features LZ77 implementations for the following languages:

Language wish-list

Are you missing a language? Please get involved and contribute!

Getting started

  1. Get the project source code
  2. Go to the project directory
  3. Test and build using Ant on the command line.

To build and test all the current LZ77 implementation use the default build target:

shell$> ant

For more build information and project build targets, you may run:

shell$> ant -p

Look in the ./output folder for the built artifacts and copy/paste what you need. Please keep the license and credits in any generated source code or scripts.

Thank you!

A note on requirements

Being a project with such a broad programming language base, the requirements are more or less dependent on your target build platform. It's of course only possible to do a complete build if all programming languages are installed on that system.

I've lately had success building the project using the following:

Oh, and by the way, my shell have slashes that slant "the right way" (/).

Contributing

The most source code have unit tests and the project is pretty independent, or free from third party dependencies, so it should be easy for any developer, with a decent environment, to clone and and start working with the code.

Guidelines

This is all done with the hope of being of use to someone out there.