PackIt
   HOME

TheInfoList



OR:

PackIt is a
software Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually performs the work. At the lowest programming level, executable code consists ...
data compression In information theory, data compression, source coding, or bit-rate reduction is the process of encoding information using fewer bits than the original representation. Any particular compression is either lossy or lossless. Lossless compression ...
utility for archiving and compressing
file File or filing may refer to: Mechanical tools and processes * File (tool), a tool used to ''remove'' fine amounts of material from a workpiece **Filing (metalworking), a material removal process in manufacturing ** Nail file, a tool used to gent ...
s on the
Apple Macintosh The Mac (known as Macintosh until 1999) is a family of personal computers designed and marketed by Apple Inc. Macs are known for their ease of use and minimalist designs, and are popular among students, creative professionals, and software en ...
platform. It was the first such program to see widespread use on the Mac, and most Mac software archives accepted uploads only in PackIt format for some time. StuffIt, introduced in the summer of 1987, offered much improved compression, and PackIt quickly disappeared. PackIt was written by Harry Chesley to support an online magazine he was writing for at the time, ''MacDeveloper''. To distribute code and sample applications, he needed to archive a number of files into one for transmission. In the original version this was done in a simple manner, simply placing the Finder file information, data fork and
resource fork The resource fork is a fork (file system), fork or section of a computer file, file on Apple Inc., Apple's classic Mac OS operating system, which was also carried over to the modern macOS for compatibility, used to store structured data along with t ...
, if present, in a single stream and placing the resulting "block" in the archive. No compression was used, the program was purely an archiver, similar to the
Unix Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and ot ...
tar Tar is a dark brown or black viscous liquid of hydrocarbons and free carbon, obtained from a wide variety of organic materials through destructive distillation. Tar can be produced from coal, wood, petroleum, or peat. "a dark brown or black bit ...
utility in concept. Like tar, the format did not include an archive header of any sort. To extract the ''n''th file, PackIt had to read past all of the ''n''-1 files first. PackIt II was released in early 1986 and added
Huffman encoding In computer science and information theory, a Huffman code is a particular type of optimal prefix code that is commonly used for lossless data compression. The process of finding or using such a code proceeds by means of Huffman coding, an algori ...
. However the encoding was applied after the file had already been "grouped" together, meaning that the compressor had to work on the file as a whole, or not at all. Since Mac files often consisted of text in the data fork and binary data in the resource fork, compressing these separately and ''then'' joining them together would likely offer better compression overall. PackIt III, released in mid-1986, added DES encryption. According to Chesley this option was not widely used, but nevertheless PackIt III became the de facto standard compression/archiving system on the Mac through this period. In December 1986 he joined
Apple Computer Apple Inc. is an American multinational technology company headquartered in Cupertino, California, United States. Apple is the largest technology company by revenue (totaling in 2021) and, as of June 2022, is the world's biggest company b ...
, and work on PackIt ended. In comparison, StuffIt supported the newer LZW-type compression system and compressed the data and resource forks separately. This led to significantly better compression ratios on almost all files. The files were then stored with a single universal header, allowing the program to quickly list the archive contents, as well as uncompress a single file, without having to "scan" through the archive. This made StuffIt much easier and faster to use in practice. Archives created with PackIt used the {{mono, .pit
file extension A filename extension, file name extension or file extension is a suffix to the name of a computer file (e.g., .txt, .docx, .md). The extension indicates a characteristic of the file contents or its intended use. A filename extension is typically d ...
. File extensions are not normally needed on the Mac, but were commonly used on archives because they would typically be stored on some other system that would require them (PC's for instance). These files were generally stored in
MacBinary MacBinary is a file format that combines the two ''forks'' of a classic Mac OS file into a single file, along with Hierarchical File System, HFS's extended metadata. The resulting file is suitable for transmission over File Transfer Protocol, FTP, ...
format on such machines, however, making the extension somewhat superfluous. Later versions of PackIt would recognize a MacBinary header if it had been left on, and strip it off automatically.


References

*E-mail with the author


External links


PackIt
- Harry Chesley's "home page" for PackIt, including
source code In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the wo ...

UnPackIt source codeArchive Formats and Data
- contains a section on the PackIt header format
macutils
converts between different Macintosh file encodings; supposedly can unpack PackIt archives Classic Mac OS software Data compression software