Article illustration 1

From Usenet to Xcode: A Brief History

The original sit was born in 1988 when Tom Bereiter posted a C program to the comp.sources.mac newsgroup. It was designed for the Unix era before macOS, assuming that files either had no resource fork or were split into three separate binaries: .data, .rsrc, and .info.

Fast forward to 2024: macOS is a Unix‑like system, and developers still sometimes need to hand off files to classic Mac OS or emulators. The new sit on GitHub (https://github.com/thecloudexpanse/sit) updates that old code to read native resource forks, recurse directories, and output a proper StuffIt 1.5.1 archive.

How It Works

At its core, sit is a tiny command‑line tool written in plain C. It accepts files or directories, walks the file tree, and writes a .sit archive that includes:

  • Data fork (the file’s main content)
  • Resource fork (macOS metadata, icons, etc.)
  • File type/creator (defaults to TEXT/KAHL but can be overridden)

Unlike the original, it does not compress data; the goal is portability, not size savings.

Usage

# Basic archive of three files
sit file1 file2 file3

# Archive a folder into a custom archive name
sit -o FolderArchive.sit FolderToBeArchived

Options:
- -v, -vv, -vvv – Increase verbosity.
- -T type – Override the default file type.
- -C creator – Override the default creator code.
- -u – Convert Unix linefeeds ( ) to classic Mac carriage returns (\r). Use sparingly.

Building

# Assuming Xcode Command Line Tools are installed
cd sit
make

The resulting binary can be run on macOS, Linux, or any Unix‑like system.

Why It Matters

Many legacy workflows—particularly in the Apple II/Classic Mac OS community—still rely on StuffIt archives. When developers need to ship a set of documents, scripts, or even legacy applications to a Mac running 10.4 or an emulator like Basilisk II, having a tool that preserves resource forks is invaluable.

Moreover, sit demonstrates a broader trend: modern tooling that respects historical file formats. As the industry moves toward containerization and cloud storage, the ability to produce a portable, self‑contained archive that older systems can consume remains a niche but critical capability.

Caveats

  • No compression: the archive size equals the sum of the input files.
  • The tool is unmaintained and may contain bugs; use at your own risk.
  • The -u option is rarely needed and can corrupt non‑text files.

Bottom Line

If you’re a developer who occasionally needs to hand off files to a classic Mac environment, sit is a handy, lightweight companion. It brings an old, beloved format back into the Unix toolbox with minimal friction.

Source: https://github.com/thecloudexpanse/sit