Applies all 30 group-4 recommendations (Opus proposal, amended after an
adversarial GLM review): corrects the deadlock theory and proofs (Coffman
conditions necessary, not sufficient; a rewritten theorem; the livelock
example; Stallings' and Dijkstra's fork indexing), the program-break
definition, the 12 KiB page-table total, RAID-3/4/5/10, the glibc
quotation, the filesystem write walkthrough, the queueing-theory
definitions (service rate, exponential interarrival times), the OSPF/BGP
classification, and completes the truncated sentences and questions.
Also applies the author's answers: post-mortem lessons that match the
corrected Pathfinder and AT&T stories, live plus Wayback links, HTTP/1.1
examples with a paragraph on HTTP/2 and HTTP/3, and a more accurate DNS
trust sentence.
Fixes the four long-standing undefined citations: the appendix now has its
own bibliography, and a brace-less \cite in the EWD310 BibTeX note (which
cited the key "E") is replaced with its publication details.
future-concerns-for-review.md now lists only the alt-text tooling item
(issue #238).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Rewrites about 70 unclear sentences across every chapter except deadlock;
corrects the Mars Pathfinder, AT&T 1990 and Appnexus post-mortems against
their sources; fixes the sig_atomic_t range claim; applies style fixes
(list punctuation, "process's", lowercase "convoy effect", spaces before
"?"); labels every post-mortem and points Meltdown/Spectre at the
security chapter; points the Ed link at the course home page; restyles
the AUTHORS.md listing as plain text while keeping it readable by pandoc;
escapes a stray 50%; and uses intptr_t casts in the threads example.
Removes the resolved and stale entries from future-concerns-for-review.md,
which now lists only items that need an author's decision.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Fixes code listings that did not compile or contradicted their prose
across every chapter, regenerates gdb/ltrace/valgrind transcripts with
the real tools, corrects clear-cut technical errors, refreshes stale
material, cuts empty honors subsections and kernel TODOs, deletes the
orphaned honors/tcp.tex and introc/topics.tex, and applies the author's
answers to the questions raised. Trims resolved entries from
future-concerns-for-review.md and records figure bugs found while
assessing alt text.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Corrects plain-text technical errors across the book: NDEBUG, shell ||,
OSI/TCP/DNS/UTF-8 expansions, AF_INET/AF_UNSPEC, passive sockets,
TIME-WAIT and SO_REUSEADDR, permission bits and st_uid, mutex vs
semaphore ownership, sem_wait/sem_post mix-ups, the CFAA, ASLR, sudo,
containers, the wait status macros, FCFS disadvantages, and the a++
example. Rewrites the sprintf advice as sprintf -> snprintf -> asprintf.
Removes the apocryphal Civilization/Gandhi post-mortem and corrects the
Steam post-mortem's description of $0. Drops the addressed entries
(and already-fixed build items) from future-concerns-for-review.md.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
A full proofreading pass over all 18 chapters. Every change is an
in-place substitution on a single line - 547 insertions, 547 deletions,
no line added or removed, no reflowing - so the diff is entirely real
fixes and contains no whitespace churn.
Scope was deliberately narrow: subject/verb agreement, dropped and
duplicated words, run-together words ("whetherit", "programget"),
broken sentences, missing terminal punctuation, and plain misspellings.
Two of these were real LaTeX errors sitting in body text:
- processes.tex used \begin{enunmerate} / \end{enunmerate}, an
environment that does not exist.
- networking.tex used \keyowrd{read}, a typo for \keyword. On page 254
of the published PDF that word renders in body font instead of code
font, because LaTeX skipped the undefined macro.
Neither failed the build, because the Makefile suppresses latexmk
errors four different ways. That is written up in
future-concerns-for-review.md.
Left alone throughout: the book's informal voice, anything inside a
code listing (where a bug is usually the point of the example),
identifiers, labels, refs and URLs, and every technical claim. Items
in those categories that looked wrong were recorded for review rather
than silently changed.
One edit infers meaning rather than correcting grammar:
synchronization.tex:2134 "there should be more race conditions" ->
"no more race conditions", which the surrounding paragraph supports.
cyber.dhs.gov no longer has an A record, so the link check in
pandoc_header_filter.py died with "No address associated with hostname"
and took the WIKI build down with it.
CISA moved Emergency Directive 19-01; point at its current home.