Dmitry Shkarin’s PPMd Ported To C#

Here is a .NET C# port that I have created of Dmitry Shkarin’s PPMd. It requires
the Microsoft .NET 2.0 Framework. I created it based on this earlier port I first
created to .NET C++. Both are based on PPMd Variant I Revision 1 as provided
by Dmitry Shkarin on his web page.

This port of PPMd has been used in SharpCompress.

Transform  Transform

Download Transform a shareware compression program I have written and maintain.
It features being able to represent a compressed file as an image or in base 64. It uses
a Burrows-Wheeler transform to compress. See the help file for more information.

Delta   Delta

Download Delta a freeware program I have written and maintain. It features being able
to construct the differences between two files. The resulting difference file can later be
applied to the first file in order to reconstruct the second file (similar to the Unix diff tool).

Fractal Image Compression

See this web page for more information about fractal image compression. This is an
innovative image compression technique based on fractals that gave way to wavelet
image compression in the latter part of the 1990s. For an example of wavelet image
compression see Malcolm Taylor’s wavelet image library at

Virtual PC Virtual Hard Disk Compaction

Compact.vbs is a VB script I developed to automatically compact a Virtual PC virtual
hard disk. This requires that Virtual Server is installed. And has only been tested under
Windows Vista Business Edition and Windows Vista Enterprise Edition. It mounts the
virtual hard disk as a drive using Virtual Server vhdmount.exe. Uses Windows defrag.exe
to defragment the drive. Then precompacts the drive using precompact.exe from Virtual
Server (not Virtual PC)
. Unmounts the drive, again using Virtual Server vhdmount.exe.
And finally compacts the virtual hard disk using the VirtualServer.Application COM
object. I developed it based on the information at the following locations:

Note that precompact.exe from Virtual Server 2007 must be copied to the same folder
as Compact.vbs (this version of precompact.exe works with both Virtual Server 2007
and Virtual PC 2007 VHD files).

Also note that it might be possible to simplify this process in Windows 7 since Windows 7
allows VHD files to be mounted using Disk Management, in the same way that physical
disks are mounted.


Return to Michael’s Home Page