This week's book giveaways are in the iOS and Features new in Java 8 forums. We're giving away four copies each of Barcodes with iOS: Bringing together the digital and physical worlds and Core Java for the Impatient and have the authors on-line! See this thread and this one for details.
There is a reason that the general practice is to first "tar" all the small files into a "tar" file and then use gzip (or bzip2) to compress the tar file. Both of these programs use the basic technique of looking at the input and finding common strings. With all of the small files bundled into the tar file, there are more chances to identify common strings. With the windows-style 'zip' approach, each file is compressed independently, so common strings between files are not used to improve the compression ratio.