# Andrew Tridgell

> 1967– · Programmer
>
> **Recorded contribution:** Samba; rsync; git bisect; reverse engineering expert

## How to use this dossier

Read for a causal chain, not a hero story: inherited problem → contribution → mechanism → downstream capability → limit. Then close the page and complete the reconstruction exercise from memory.

## 1. Historical orientation

Andrew Tridgell created Samba by reverse-engineering Microsoft’s SMB network protocol, created rsync with Paul Mackerras, and contributed tools and techniques including work related to source-control analysis. His projects made closed or expensive interoperability boundaries inspectable and implementable through disciplined observation. This work addresses how programs remain understandable, changeable, and operable while code, teams, dependencies, and requirements evolve independently. The chronology is used causally: it connects the inherited constraint to an implementable mechanism and then to later reuse, instead of treating fame, job title, or eventual market success as the explanation.

## 2. The problem inherited

Unix systems needed to share files and printers with proprietary PC networks, while synchronizing similar directory trees across slow links wasted bandwidth by retransmitting unchanged data. A program that works once is not yet a maintainable system. Teams need explicit boundaries, tests, histories, ownership, and failure evidence to change it without uncontrolled regressions.

## 3. The central contribution

rsync divides files into blocks, sends weak and strong checksums for the receiver’s existing blocks, and lets the sender find matches so only unmatched data and reconstruction instructions cross the network. The contribution is a repeatable engineering mechanism—tool, practice, architecture, or governance rule—that makes change observable and reversible.

## 4. Reconstruct the mechanism

1. Split the receiver’s file into fixed blocks and compute rolling plus strong checksums. Choose a concrete change and identify the unit of code or behavior it affects.
2. Send compact signatures rather than the complete old file to the sender. Make the expected interface, history, or test evidence explicit before editing.
3. Slide a rolling checksum over the sender’s version, confirm matches strongly, and emit references or new bytes. Apply the practice or tool across two components, contributors, or versions.
4. Reconstruct safely and test collisions, metadata, deletion, partial transfer, adversarial input, and encrypted-channel effects. Inject a regression, dependency failure, or maintenance conflict and show how the evidence exposes it.

## 5. What changed downstream

- Samba enabled heterogeneous file sharing and challenged proprietary lock-in; rsync became infrastructure for backups, mirrors, deployments, and efficient transfer.
- Later teams could coordinate larger codebases and longer-lived systems with a better record of intent and failure.
- The transferable first-principles lesson is to separate the artifact named in “Samba; rsync; git bisect; reverse engineering expert” from the mechanism, surrounding institution, and evidence that allowed later systems to depend on it.

## 6. Attribution, limits, and uncertainty

- Samba and rsync are collaborative projects; Mackerras co-authored rsync. Reverse engineering must be evaluated under applicable law and clean implementation practice. Protocol compatibility can lag undocumented changes, and rsync efficiency depends on similarity and transport.
- A practice is not universal law: workload, team size, coupling, governance, and operational context determine whether its cost pays back.
- The subject is living or the registry has no death year; current titles and institutional affiliations are treated as dated snapshots verified on 2026-08-09, not permanent identity claims.

## 7. Reconstruction lab

Implement the rolling-checksum stage for two small files with an inserted block. Count transmitted bytes against a full copy, then corrupt one weak-checksum match and require strong verification. Preserve artifacts—a test, diff, trace, issue, or design note—so another learner can audit the change rather than trust the conclusion.

## 8. Evidence trail

- [The rsync algorithm](https://rsync.samba.org/tech_report/) — Andrew Tridgell and Paul Mackerras
- [Samba project history](https://www.samba.org/samba/docs/10years.html) — Samba Team
- [Andrew Tridgell](https://en.wikipedia.org/wiki/Andrew_Tridgell) — Wikipedia contributors · overview and bibliography
- [Andrew Tridgell structured identity record](https://www.wikidata.org/wiki/Q508095) — Wikidata contributors · CC0

---

*Research checked 2026-08-09. Dates, roles, and claims about living people are historical snapshots. Linked sources remain the authority; this dossier is original instructional synthesis.*
