Zum Inhalt springen

The Hexadecimal Dollar: Donald Knuth's Bug Bounty

Zusammenfassung

Donald Knuth pays $2.56 — one “hexadecimal dollar,” or 0x$1.00 — for every error found in his books The Art of Computer Programming and in the TeX and METAFONT programs. He also pays $0.32 for valuable suggestions that fall short of being outright errors. Until 2008 these were real, cashable checks, but they became collector’s items: most recipients frame them or deposit them in a special account rather than cashing. Since October 2008 he issues certificates drawn on his own fictional “Bank of San Serriffe” instead. Knuth introduced the bounty in 1968 as a commitment to quality — the same perfectionism that led him to spend ten years writing a typesetting system because he was dissatisfied with how his book looked in print.

The Art of Computer Programming

Donald Knuth began writing The Art of Computer Programming (TAOCP) in 1962 as a planned single volume on compiler writing. The scope expanded until it became a projected seven-volume encyclopedic treatment of algorithms and their mathematical analysis. Volume 1 was published in 1968; Volume 4B, covering combinatorial algorithms, appeared in 2022. Volumes 5, 6, and 7 remain in preparation.

The books are notable for their mathematical rigor, their treatment of algorithms through both theoretical analysis and implementation, and their historical approach — Knuth traces the intellectual lineage of each algorithm to its discoverers, often reaching back centuries. They are also notably dense: readers describe them as books to be studied rather than read, with exercises that range from trivial to requiring original research. The full story of Knuth’s contributions is covered in Donald Knuth and the Art of Programming.

The Bug Bounty System

Knuth announced the error-reward program with the first edition of Volume 1. The amount — $2.56 — is one hexadecimal dollar: 256 cents = 0x100 cents = 16² cents. For a mathematician who had made hexadecimal arithmetic a theme of his early career (he wrote papers on balanced ternary arithmetic and other non-standard bases), the choice was both a mathematical joke and a signal about the kind of readers he expected.

The system has two tiers:

  • $2.56: Any genuine error — a wrong algorithm, an incorrect mathematical statement, a wrong historical fact, or a typographical error, whether technical or trivial.
  • $0.32: A valuable suggestion or comment that improves the text but is not itself an error.

Errors must be reported by mail or email to Knuth’s Stanford address. He maintains a “Knuth reward check” database, verifying each claimed error before issuing a check. Some errors submitted as $2.56 errors are downgraded after review; some submitted as nitpicks are upgraded.

The Checks as Artifacts

Knuth has noted that the checks rarely clear. Recipients typically:

  1. Frame the check and hang it near their computer.
  2. Deposit it in a dedicated account with zero withdrawals, maintaining the balance as a trophy.
  3. Send it back with a note declining the payment (which Knuth does not accept — he insists on sending the check).

The checks have become a measure of status in the algorithms and mathematics communities. Having a Knuth reward check means you found a genuine error in a book that has been read, checked, and corrected by some of the most careful mathematical minds in the world for fifty years.

In October 2008, Knuth stopped sending real checks because of repeated check fraud — cashing a check exposed his bank account details to criminals. He replaced them with certificates of deposit in his own fictional “Bank of San Serriffe,” which records a hexadecimal balance for each finder but issues no negotiable money. He has estimated that the total dollar value of all checks ever issued is around $30,000–$40,000, which he considers cheap for the quality improvement it has produced.

The TeX Connection

The same perfectionist impulse that produced the bug bounty also produced TeX. When Volume 2 of TAOCP was being prepared for its second edition in 1977, Knuth received galley proofs typeset by the new digital typesetting systems that had replaced the lead type used for the first edition. He found the result unacceptable. He decided to write his own typesetting system.

That project took ten years. TeX was released in 1978 (experimental versions) and reached its final form in 1989. It set a standard for mathematical typesetting that no commercial system has matched. Knuth declared TeX “frozen” in 1989 — no more features would be added, only bug fixes. TeX’s version number approaches π (3.14159265…); METAFONT’s approaches e (2.71828…). On Knuth’s death, both version numbers will be set to their respective limits permanently.


📚 Sources