Friday, September 21, 2007
Can you imagine compressing a file by 100%, i.e. compacting a file to 0 bytes? Sounds too astonishing. Well, don't be stupefied when you read that its possible to compress any file to 0 bytes.
BARF! or Better Archiver with Recursive Functionality can achieve a file compression of 100% by recursively compressing the file. The BARF compressor will compress any nonempty file by at least one byte. Thus, by compressing already compressed files over and over again, it is possible to eventually reduce any file to 0 bytes.
BARF is free, open source software, released under the GNU GPL. Its code is written in C/C++ and can be downloaded from the BARF webpage.
How it Works?
BARF uses recursive compression to compress the file. BARF compresses the files by using one of the 257 compression algorithms by selecting the best one at each stage of recursion. At each step it adds an extension .x or .x?? to the existing filename. This technique ensures that there is no disambiguation while decompressing the files.
I know most of you would like to try this out. But, some of you won't understand the technical jargon on the BARF webpage. So, here are the steps to try out file compression with BARF!
Steps for an Amateur:
- Download the barf.exe(1 MB approx.) file and copy it to C:\Windows\System32.
- Open the Command Prompt (Start>Run and type 'cmd').
- To compress a file, type: barf c <filename>
To compress multiple files: barf c <filename1> <filename2> ...
To compress all files in the current directory: dir/b | barf c
- Repeat the above compression step repeatedly until the file is compressed to 0 bytes or any other desired size. Make sure to append the filename with the extension(.x or .x??) at each step.
- To decompress a file, type: barf d <filename>.x
To decompress multiple files: barf d <filename1>.x <filename2>.x ...
To decompress all files in the current directory: dir/b | barf d
- Repeat the decompression step until the original file is created. Make sure to remove one level of extension(.x or .x??) at each step.