Book Review: ActivityPub by Evan Prodromou ![rw-book-cover](https://shkspr.mobi/blog/wp-content/uploads/2026/08/activitypub.jpg) 🔗 **Source:** [Book Review: ActivityPub by Evan Prodromou](https://shkspr.mobi/blog/2026/09/book-review-activitypub-by-evan-prodromou/) > [!note]+ Document Notes > tags: [activitypub, fediverse, decentralized-social, protocol-documentation, indieweb] > author: Terence Eden > source: Terence Eden's Blog (shkspr.mobi) > reference: https://shkspr.mobi/blog/2026/09/book-review-activitypub-by-evan-prodromou/ > date created: 2026-10-02 11:03 > > > [!info] Generated analysis — not the author's words. Sections below are machine-written > > from the captured source. Only text inside `> [!quote]` blocks is verbatim from the author. > > Do not quote or attribute any other line to the named author. > > # 🏷️ Title: Book Review: ActivityPub by Evan Prodromou > <!-- deep-read:sections start --> ## 🧭 Table of contents - [📝 Summary](#-summary) - [📖 Main content](#-main-content) - [🗒️ Notes](#️-notes) - [📚 References](#-references) - [🗣️ Paraphrase](#️-paraphrase) - [📰 Newsletter](#-newsletter) - [✅ Action items](#-action-items) - [🧪 Hypotheses](#-hypotheses) - [📊 Methodology](#-methodology) - [❓ Questions](#-questions) - [🔮 Future research](#-future-research) - [💡 Implications](#-implications) - [🧠 Learning styles assessment](#-learning-styles-assessment) - [📊 Accessibility assessment](#-accessibility-assessment) - [🌍 DEIB assessment](#-deib-assessment) - [✅ Logical validity](#-logical-validity) - [🛡️ DARVO analysis](#️-darvo-analysis) - [🎯 Conclusion](#-conclusion) - [🔄 Refactor appendix](#-refactor-appendix--book-review-activitypub-by-evan-prodromou) Paragraph labels like ¶7 are the pipeline's extraction labels (the captured text has ten paragraphs, ¶1 to ¶10), not part of the original post. This note replaces an earlier light-touch note on the same post. It keeps that note's verified facts, drops two claims the captured text can't support (see Main content, "Claims in the earlier note that this source doesn't back"), and adds the sections the light-touch note skipped. The note keeps two things apart throughout: what the post says the book contains, and what the reviewer thinks of it. ## 📝 Summary - **What happened.** Terence Eden published a short positive review of Evan Prodromou's ActivityPub book on shkspr.mobi (post dated September 2026 in its URL; Reader date 2026-09-01). The captured text is 10 paragraphs and about 350 words (354 by a simple count). One link appears in it, to Eden's earlier post about an NLnet grant (¶1). - **The claim.** Eden says the book is nearly the single, consistent collation of ActivityPub information Eden wanted (¶2). Eden credits it with a logical layout, full coverage of obscure parts of the spec, a build-up from fundamentals, a light-hearted tone, a minimal-server checklist, and a "Far Horizons" chapter (¶3, ¶5, ¶8). Eden names two gaps: no detail on verifying RFC 9421 HTTP Signatures, and thin coverage of poll voting and results (¶7). The verdict is "Highly recommended" for anyone who wants the fundamentals of the Fediverse (¶10). - **Why it matters.** The review gives a practitioner's checklist of what one book covers and omits. The omission it flags, signature verification, is the step where a server decides whether to trust an incoming request. Eden says many servers send RFC 9421 signatures now (¶7). - **Key stakeholders.** Eden (reviewer, building a Fediverse bot with an NLnet grant, ¶1); Prodromou (the book's author, ¶3, ¶9); O'Reilly (publisher, named only in passing, ¶6); Kobo (the retailer that supplied the DRM-free ePub, ¶6); implementers of ActivityPub servers, who are the review's implied readers. - **Risks and tradeoffs.** It is a short opinion piece by one reader, who says nothing about how Eden got the copy (¶6 says only that the ePub "was supplied" via Kobo). Eden pairs praise with a candid gap list, which helps credibility. The post gives no page counts, edition, price, chapter list (beyond "Far Horizons") or comparison with other ActivityPub references, so a buyer can't weigh the book against alternatives from this text alone. - **Bottom line.** Eden recommends the book for fundamentals, and warns that it doesn't yet cover RFC 9421 verification or the voting side of polls. Anyone implementing ActivityPub should read the book for the checklist and plan to find signature-verification guidance elsewhere. ## 📖 Main content **Source type.** A personal-blog book review. It is opinion with a recommendation, not a news report or a technical document. The commercial interest is low: the text shows no affiliate link, no sponsor and no discount code. The only funding mentioned is Eden's NLnet grant for a bot project of Eden's own (¶1), which is context for why Eden is reading the book, not a payment for the review. The text doesn't say whether Eden bought the book or received a review copy. That's a gap in disclosure, not evidence of a problem. **What the post says the book contains** (the reviewer reporting, not judging): - It collates information about ActivityPub in "a consistent format" (¶2, implied by "one book which collates all the info"). - Its structure is logical, it describes even the most obscure parts of the spec, and it builds up from fundamentals (¶3). - It includes humor. Eden calls it "surprisingly light-hearted" (¶3), and ¶4 reproduces what reads as a passage from the book: a joke about the acronym HATEOAS and breakfast cereal. The captured text doesn't mark ¶4 as a quotation. It is written in a different voice from the rest ("We often pronounce it"), so attributing it to the book is an inference from the voice. - It has a checklist of the steps needed to build a minimal ActivityPub server (¶5). - It is an O'Reilly publication delivered as an ePub, supplied DRM-free through Kobo (¶6). - It has a good write-up of how to publish a poll (¶7). - It has a "Far Horizons" chapter giving a speculative overview of what ActivityPub ("AP") could be used for (¶8). **What the post says the book omits** (still reporting, not judging): - Details of how to verify RFC 9421 HTTP Signatures (¶7). - Much about poll voting or publishing the results (¶7). **The reviewer's opinions** (judgments, not contents): - Internet standards are "scattered all over the place" in forums, wikis, mailing lists and "monolithic blocks of text" (¶1). This is a premise about standards in general, not a claim about the book. - Prodromou has an "unenviable task" and does it "well" (¶3). - The book is "nearly that book" (¶2), "excellent" on the checklist (¶5), "beautifully typeset" (¶6, said of O'Reilly books in general), "particularly exciting" in its Far Horizons chapter (¶8), and "brilliant" at bringing the moving parts into a coherent picture (¶9). - The RFC 9421 omission is "understandable" because the signatures are new, but "a bit annoying" because many servers send them (¶7). The "understandable" half is a charitable reading, and the "annoying" half is a practical complaint. The text doesn't support or test either one. - The book is "Highly recommended" for people who want to understand the Fediverse's fundamentals (¶10). - The joke about putting an "Internet Connected Fridge" on social media (¶8) is humor, not a claim. **Claims about the world that the post makes** (neither book contents nor opinion): - ActivityPub is "a living and evolving set of standards," and "no book can possibly keep up" with its changes (¶9). This is a general claim about the standard. It's plausible, and the post gives no example beyond RFC 9421. - RFC 9421 signatures are "pretty new" and "a lot of servers are sending" them "now" (¶7). The post gives no count, no dates and no list of servers. Treat it as one practitioner's observation. **Terms.** - *ActivityPub (AP).* The social-networking protocol that federated servers use to exchange posts, follows and similar activity. The post assumes the reader knows this. - *Fediverse.* The network of servers that speak ActivityPub and related protocols. The post uses the word without defining it. - *RFC 9421 HTTP Signatures.* The post names it without explaining it. Per general knowledge outside the post (not verified in this run, because no network access was used), RFC 9421 is the IETF standard for signing HTTP messages, and the ActivityPub community has been moving to it from an older draft-based signing scheme. Treat both as background, not as claims the post makes. - *HATEOAS.* Per general knowledge outside the post, the acronym stands for "Hypermedia as the Engine of Application State," a REST principle. The post doesn't expand it, and the principle itself is not stated in the captured text (¶4 starts with "This principle" without naming it). - *O'Reilly, Kobo.* A technical publisher and an ebook retailer, both named in ¶6 without links. **Claims in the earlier note that this source doesn't back.** The light-touch note said Prodromou "co-edited the W3C ActivityPub Recommendation." The captured post never says that. It may be true, but that is outside knowledge and this run can't check it, so it is dropped from the claims above. The light-touch note also said RFC 9421 was "published February 2024 (verified against the RFC Editor)." The captured post gives no date for the RFC, and this run used no network, so the date is unverified here. It stays out of the analysis except as the flagged background above. **Uncertain or contested in this source.** The post doesn't compare the book with other ActivityPub references, doesn't name its edition or publication date, and doesn't describe the poll or checklist content in detail. The "nearly" in "nearly that book" (¶2) is explained only by the two gaps in ¶7. Whether the book is correct on anything isn't tested. ## 🗒️ Notes #### 📄 ¶1-¶2 Why Eden wanted one book - Eden is improving a Fediverse bot project under an NLnet grant, and spends time making sure the fundamentals are understood (¶1). - The complaint about Internet standards: scattered across "abandoned forums, half-maintained wikis, mailing lists with obscure rules, and monolithic blocks of text" (¶1). - The wish: "one book which collates all the info" in a consistent format. This book is "nearly" that (¶2). - The only link in the post goes to Eden's earlier post on the NLnet grant (¶1; see References). #### 📄 ¶3-¶4 Structure, tone and a pulled passage - Eden gives Prodromou the "unenviable task" of making the ecosystem easy to understand and says Prodromou does it well (¶3). - Praised qualities: logical layout, comprehensive description of the most obscure parts of the spec, a build-up from fundamentals, and surprising light-heartedness (¶3). - ¶4 is a passage about the HATEOAS acronym and breakfast cereal. Its first-person-plural voice ("We often pronounce it") differs from Eden's. It reads as a quotation from the book that Eden uses to show the tone (inference; the capture has no quotation markup). #### 📄 ¶5-¶6 Checklist and production - The book has a checklist for the steps needed to build a minimal ActivityPub server. Eden calls it "excellent" (¶5). - It is a beautifully typeset ePub "as with all O'Reilly books," and was supplied DRM-free through Kobo (¶6). The text doesn't say who supplied it to Eden. #### 📄 ¶7 Gaps - Missing: details of how to verify RFC 9421 HTTP Signatures. Eden finds this "understandable as they're pretty new" but "a bit annoying" because a lot of servers send them now. - Thin: a good write-up of how to publish a poll, but not much on voting or publishing results. - Eden calls the signature gap "About the only significant thing missing," which implies no other major gap turned up. That's a judgment of the whole book from a read-through. #### 📄 ¶8-¶10 Far Horizons, limits of books and verdict - The "Far Horizons" chapter gives a speculative overview of uses for ActivityPub. Eden joins the speculation with a joke about an "Internet Connected Fridge" on social media (¶8). - ActivityPub is "a living and evolving set of standards," so no book can keep up. Eden still calls Prodromou's work brilliant at assembling a coherent picture (¶9). - Verdict: "Highly recommended" for readers who want the fundamentals of the Fediverse (¶10). ## 📚 References The link list for this post has one entry, so the post is not unlinked. It has one link, and the rest of its factual claims have no link in the captured markup. - [my grant from NLnet](https://shkspr.mobi/blog/2026/08/activitybot-is-the-recipient-of-an-nlnet-grant/): linked from ¶1 as the reason Eden is studying ActivityPub. The target is a post on the same site dated August 2026 per its URL. It isn't fetched here, so its content is not described. The "activitybot" in the URL suggests the project's name, which is an inference from the URL only. - The book itself: no link in the captured markup. The post names the book only through its title line and byline-style references to Evan Prodromou (¶3, ¶9) and O'Reilly (¶6). - RFC 9421 (¶7): no link in the captured markup. Primary source to check next: the RFC itself at the IETF's RFC Editor. Not fetched in this run. - ActivityPub specification: no link in the captured markup. The W3C Recommendation is the primary source for what the book covers. - O'Reilly and Kobo (¶6): no link in the captured markup. - Claims with no link in the captured markup: that many servers now send RFC 9421 signatures (¶7), and that the book's checklist and poll write-up are as described (¶5, ¶7). ## 🗣️ Paraphrase Eden is studying ActivityPub for a Fediverse bot project that an NLnet grant funds. Eden finds that Internet standards live in scattered, half-abandoned places, and a single book that gathers the lot would help. Evan Prodromou's book comes close, in Eden's view. It's clearly organized, covers even obscure corners of the spec, starts with basics, and is funnier than expected. Eden singles out a checklist for building a minimal ActivityPub server and notes that the ePub is well made and came without DRM through Kobo. The book's main hole, per Eden, is how to verify RFC 9421 HTTP Signatures. The signatures are new, which explains the gap, but many servers send them already, which makes it a nuisance. The book also explains how to publish a poll but says little about voting or publishing the results. Eden likes the "Far Horizons" chapter and jokes about hooking up an Internet Connected Fridge. The post closes by saying no book can track a standard that keeps changing, though Prodromou does a brilliant job of putting the pieces together. Highly recommended for anyone who wants the Fediverse's fundamentals. ## 📰 Newsletter **One book for ActivityPub fundamentals, with a gap to watch.** Terence Eden, who is building a Fediverse bot with an NLnet grant, reviewed Evan Prodromou's O'Reilly book on ActivityPub and recommends it. Eden's praise: clear layout, deep coverage of the spec's odd corners, a light tone, and a checklist for building a minimal ActivityPub server. Eden's warning: the book doesn't explain how to verify RFC 9421 HTTP Signatures, which Eden says many servers send now, and it says little about poll voting or results. If you're building federation into a WordPress plugin, put the checklist on your reading list and look for signature-verification guidance elsewhere. Read the full review: [Book Review: ActivityPub by Evan Prodromou](https://shkspr.mobi/blog/2026/09/book-review-activitypub-by-evan-prodromou/). ## ✅ Action items Each line ties to the post's text, or says plainly that no action follows. Where a line mentions RFC 9421 or ActivityPub work, it rests on Eden's statement (¶7) and not on a check made here. #### DevRel - Developer advocacy: no direct action. If you recommend the book in a talk, repeat Eden's caveat that it doesn't cover RFC 9421 verification (¶7). - Education: a short explainer on "what an ActivityPub server must verify on an incoming request," built from primary sources, would fill the gap Eden names. The post doesn't supply that content. - Developer experience: use the book's minimal-server checklist (¶5) as a model for a quickstart checklist in any federation docs. Review the checklist itself before copying its shape. - Developer marketing: none. The post is a book review and doesn't pitch a product. - Community management: if the review circulates in Fediverse or IndieWeb channels, link the original post, not a summary. - Internal/external/cross-project: none from this source. #### OSPO - Policy and governance: none. The post says nothing about contribution policy. - License compliance: the ePub is DRM-free (¶6), but the post says nothing about its license or reuse terms. No direct action. - Security management: the named gap is signature verification (¶7), which is a security-relevant step. An OSPO that ships federation code can ask whether its implementation verifies incoming signatures and which signing standard it accepts. That's a question for its engineers, not something the post answers. - Software inventory: none. - Developer support: point developers who ask how to start with ActivityPub at the book and at the W3C spec, with the signature caveat. - Community engagement: none from this source. - Strategic alignment: none. The post makes no claim about open-source strategy. #### Community - Maintainers: for maintainers of federation plugins, the review suggests checking their documentation for the same gap (how to verify incoming signatures). That's an inference from ¶7. - Contributors: a contributor could write the missing signature-verification guide as a documentation contribution. Whether one already exists is unchecked here. - Sponsors: none. The only funding in the post is Eden's NLnet grant (¶1), which supports Eden's own project. - Ecosystem: none from this source. #### WordPress - Core: no direct action. - Core Performance: none. - Core AI: none. - **Core Program Team:** none. - Mobile: none. - Playground: none. A Playground blueprint that spins up an ActivityPub-enabled test site could help people try the book's checklist, but the post doesn't mention one. - Community: no direct action. Nearest relevance: meetups on the Fediverse and WordPress can use the review as a reading recommendation. - Training: a lesson on federation basics could cite the book as a reference, with the RFC 9421 caveat. - Marketing: none. - Support: none. - Design: none. - Documentation: the gap Eden describes (how to verify RFC 9421 signatures) is a documentation opportunity for any WordPress ActivityPub plugin's developer docs. Check what the existing docs say first. - Photos: none. - TV: none. - Polyglots: none. - Accessibility: none from this source. - Meta: none. The post doesn't touch the .org directory. - CLI: none. - Hosting: none. The post says nothing about hosting. - Tide: none. - Openverse: none. - Themes: none. - Plugins: no direct action. Nearest relevance: plugin authors who ship ActivityPub support face the signature question in ¶7. #### The WPOCC - Programs: none directly. A microgrant for protocol documentation would be an idea, not something the post says. - Projects: none. - Funding experiments: none from this source. The post shows one funded project (Eden's NLnet grant, ¶1), and nothing about documentation funding. ### FAIR - Technical independence: the signature topic (¶7) is relevant in the sense that any decentralized system must decide whom to trust. The post doesn't discuss FAIR or package signing, so this is a stretch, labeled as such. - Policies and covenants: none from this source. - Productized governance artifacts: none from this source. ## 🧪 Hypotheses 1. Reference books on fast-moving protocols leave their newest features undocumented more often than their oldest features, because publishing lags standards work. Eden's RFC 9421 example (¶7) fits this, but it's one case. 2. Developers who build ActivityPub servers from a minimal-server checklist (¶5) reach a first working federated post faster than developers who work from the W3C specification alone. 3. Documentation of HTTP request signing is the most common place where a new ActivityPub implementation fails to interoperate with existing servers. 4. A short, free, current guide to RFC 9421 verification for ActivityPub would be used more than the same guidance inside a book, because it can be updated when the standard changes. 5. Readers who buy a DRM-free ebook (¶6) are more likely to recommend it than readers of a DRM-protected one. (Weakly motivated; the post gives no data, and this is a guess.) 6. A reviewer's "understandable gap" framing (¶7) lowers a reader's likelihood of seeking supplementary material compared with a plain statement of risk. ## 📊 Methodology - **H1.** Take 5 to 10 reference books on evolving protocols. Date each feature in the standard against the book's coverage. Compare the missing share for features under 12 months old against older ones. - **H2.** Recruit developers with no ActivityPub experience. Randomly assign them to the checklist-led path or the spec-only path. Measure time to a first federated post accepted by a reference server. - **H3.** Collect bug reports and interoperability issues from open-source ActivityPub projects. Code each by topic (signing, inbox delivery, object shape, polls). Count the share on signing. - **H4.** A/B test two forms of the same RFC 9421 guidance (book-style, living web page). Measure page views, completion and follow-up questions over six months. - **H5.** Survey buyers of DRM-free and DRM-protected technical ebooks on willingness to recommend. Control for price and publisher. - **H6.** Show two groups the same review with the gap worded as "understandable" or as "a risk." Ask whether they would look for other sources. Compare the rates. - **Controls throughout.** A second coder for each classification, and no reliance on Eden's observations (¶7) as data. ## ❓ Questions - How did Eden get the book (purchase or review copy)? ¶6 says only that it "was supplied" through Kobo. - Which edition or version of the book did Eden read, and does a newer edition cover RFC 9421? - Which servers send RFC 9421 signatures today, and which still use the older scheme? ¶7 says "a lot" without naming any. - What do other ActivityPub references say about verifying signatures, and do any cover RFC 9421? - Is ¶4's passage from the book, and which chapter? The capture doesn't mark it as a quotation. - What does the poll write-up cover, and why does the book stop before voting and results? - What does the "Far Horizons" chapter predict? The post gives only the Internet Connected Fridge joke (¶8). - What did Eden build or change in the bot after reading the book? The post doesn't say. ## 🔮 Future research - **Signature-verification coverage.** Compare how the W3C spec, the main server implementations' docs and the book describe incoming request verification. The post says the book has a gap (¶7), and a comparison would show what exists elsewhere. - **Book age and standard drift.** Track which book chapters go out of date first after each ActivityPub change, to support or reject Eden's point about living standards (¶9). - **Review practice.** Check whether technical book reviews that state gaps (as ¶7 does) predict reader satisfaction better than reviews that only praise. - **Documentation economics.** Funding like the NLnet grant (¶1) supports implementers. Whether similar grants support protocol documentation is an open question. - **Poll semantics.** The post flags thin coverage of voting and results (¶7). A survey of how Fediverse servers represent poll votes would show whether the gap is in the book or in the ecosystem. ## 💡 Implications - **Practice.** Implementers can use the minimal-server checklist (¶5) as a starting point and should plan their own research on RFC 9421 verification and poll voting (¶7). - **Policy.** The post is a reminder that documentation for open standards is scattered (¶1). Standards bodies and funders could treat consolidated guides as part of the standard's health. - **Security.** Signature verification is where a server decides whether to trust an incoming request. The post says the book skips it (¶7) and that servers send these signatures already, so implementers who rely on the book alone may under-build this step. That follows from Eden's statements, and the post doesn't test it. - **Education.** A book can teach fundamentals and structure (¶3) but ages quickly on new features (¶9). Courses on ActivityPub might pair a book with a maintained page of current changes. - **Funding.** Eden's NLnet grant (¶1) shows public-interest funding of Fediverse tooling. The post doesn't discuss funding documentation. ## 🧠 Learning styles assessment - **Reading level estimate.** Flesch-Kincaid Grade Level 10.5 and Flesch Reading Ease 50.2 for the captured text (354 words, 21 sentences, 584 syllables by a simple vowel-group heuristic, so treat the score as approximate). That's a college-prep level, easy for a developer audience. Terms such as RFC 9421, HATEOAS and DRM-free are used without definitions. #### 👀 Visual learners - Present: no images, diagrams or screenshots appear in the captured text. The post may carry a cover image or similar that the capture doesn't show. - Improve: add a diagram of the minimal-server steps (¶5) and a simple table of covered versus missing topics (¶7). #### 🔊 Aural learners - Present: no audio or podcast appears in the captured text. - Improve: a 2-minute audio read-out of the verdict and the two gaps. #### 🗣️ Verbal learners - Present: plain sentences, a clear verdict (¶10) and a joke that carries the book's tone (¶4, ¶8). - Improve: define Fediverse, ActivityPub and RFC 9421 in one line each for readers who are new. #### 🧩 Kinesthetic learners - Present: the book's minimal-server checklist (¶5) is hands-on, but the post only mentions it. - Improve: a small exercise: build a server that accepts one follow request, then add signature verification as a second step. #### 🧠 Logical learners - Present: a clear structure of praise, then gaps, then verdict (¶1 to ¶10). - Improve: a table that separates the book's contents, the reviewer's opinions and the open questions, as in Main content. #### 🧑‍🤝‍🧑 Social learners - Present: the post is a personal recommendation, and the comment section is unseen in the capture. - Improve: a reading group working through the checklist and trading notes on signature verification. #### 🧘‍♀️ Solitary learners - Present: a short self-contained post that works alone. - Improve: a self-check: "Which three steps of a minimal ActivityPub server can I name, and where would I look for signature verification?" #### 🌿 Naturalistic learners - Present: no natural-world content. The Fediverse is described as a set of standards (¶9), and "ecosystem" appears in ¶3. - Improve: a short note comparing a federated network to an ecosystem of independent servers that must interoperate. ## 📊 Accessibility assessment Judged as captured. The capture is a text rendering of the blog post, so the live page's markup, images and styling aren't visible. #### Screen reader semantics - Present: the text reads in order and uses plain paragraphs. The capture shows no heading text apart from the title. - Improve: whether the live page uses real headings, a landmark structure and a lang attribute can't be seen. WCAG 1.3.1 (Info and Relationships) and 3.1.1 (Language of Page) apply. The emoji in ¶8 should carry a text equivalent for screen readers; the capture can't show whether it does. #### Keyboard navigation - Present: not assessable from the captured text. The one link (¶1) has descriptive anchor text, "my grant from NLnet", which suits keyboard and screen-reader link lists, although its meaning depends on its sentence. - Improve: confirm visible focus and a skip link on the live page (WCAG 2.4.1, 2.4.7). #### Contrast and readability - Present: unknowable from text. Page styling isn't captured. - Improve: check body text for a 4.5:1 contrast ratio on the live page (WCAG 1.4.3). #### Text resizing and reflow - Present: the capture reflows as plain text, and the short paragraphs would help at 200% zoom. - Improve: verify reflow at 320 CSS pixels on the live page (WCAG 1.4.4, 1.4.10). #### Media and captions - No media referenced in the captured text. The captured text doesn't mention an audio or video version, or captions and transcripts. #### Forms and interactions - Present: no form appears in the captured text. A comment form may exist on the live page, which the capture doesn't show. - Improve: if a comment form exists, check labels and error handling (WCAG 3.3.1, 3.3.2). #### Standards reference - Candidate gaps against WCAG 2.2 AA, each unverified: **1.3.1** (heading structure), **1.4.3** (contrast), **1.4.10** (reflow), **3.1.1** (page language), **1.1.1** (alt text for any images, which the capture doesn't show). The emoji in ¶8 is a joke marker that screen readers announce by name; it carries no information the sentence needs. ## 🌍 DEIB assessment #### Cultural breadth - Present: an English-language review of an English-language book. The book's subject, ActivityPub, is an international standard. - Improve: the post doesn't say whether the book has translations. A pointer to translated resources would help non-English readers. #### Inclusive language - Present: plain, informal language. The joke about "breakfast cereal nobody wants to eat" (¶4) is idiomatic and lighthearted. The captured text uses no gendered terms for people except "he" for Prodromou in ¶3. - Improve: expand jargon on first use (Fediverse, ActivityPub, RFC, HTTP Signatures, DRM) and avoid idioms such as "nearly that book" for readers working in a second language. #### Neurodiversity support - Present: ten short paragraphs, one idea each, with a clear verdict at the end (¶10). - Improve: a short bulleted summary of the praise and the two gaps at the top would help readers who scan. #### Representation - Present: one reviewer and one author are named. No one else is quoted. - Improve: the post doesn't mention contributors, editors or other voices around the book. A list of related reviews or community responses would broaden the view. #### Psychological safety - Present: the tone is friendly and charitable. The gaps are described as "understandable" (¶7) and the author is praised. - Improve: none needed. The review attacks no one. ## ✅ Logical validity Source type: an opinion piece (a book review) by a practitioner. It argues for a recommendation, with reasons given in passing. It is not a technical specification or a study. #### Strong reasoning - **Premise to verdict, ¶1, ¶2, ¶10.** Eden states the need (one consolidated source), says the book nearly meets it, and recommends it. The need and the verdict line up, and the "nearly" is explained by the two gaps in ¶7. - **Specific, checkable gaps, ¶7.** Eden names RFC 9421 HTTP Signature verification and poll voting and results. A reader can check the book's index for each. This is stronger than a vague "could go deeper." - **Balanced weighing, ¶7 and ¶9.** Eden gives a reason the signature gap exists ("they're pretty new") and a reason it still matters ("a lot of servers are sending now"). The point that no book can keep up with a living standard (¶9) is general and consistent with that example. - **Disclosure of the reviewer's position, ¶1.** Eden says why the reading happens (a bot project and an NLnet grant), which lets readers weigh those needs against their own. #### Fallacies - None clear. Checked: the premise in ¶1, the "nearly that book" claim (¶2), the "only significant thing missing" claim (¶7), and the closing verdict (¶10). - *Possible overgeneralization, ¶1.* "The problem with Internet standards is they're scattered all over the place" describes all standards from experience with some. The weakness is scope, and a fix is "many Internet standards." This is a mild stylistic issue and doesn't affect the review. - *Unsupported quantity, ¶7.* "A lot of servers are sending" RFC 9421 signatures has no count or list. A fix would name a few servers or a measurement. - *Untested completeness, ¶7.* "About the only significant thing missing" is a claim about the whole book, which the text doesn't back with a chapter-by-chapter comparison against the spec. It reflects a reading, not an audit. #### Tone of voice - Warm, informal and wry. Examples: "unenviable task" (¶3), "surprisingly light-hearted" (¶3), "Internet Connected Fridge on social media 😆" (¶8). The critical sentence is polite: "understandable ... but a bit annoying" (¶7). The closing is a plain endorsement: "Highly recommended" (¶10). ## 🛡️ DARVO analysis Not applicable to this source. DARVO describes a response to an accusation, and this is a book review with no accusation or dispute. **Deny:** nothing is denied. **Attack:** no one is attacked. The reviewer states the criticisms mildly and about the book, not the author's character. **Reverse victim/offender:** no such move appears. The only emotional cues are mild annoyance at the missing signature guidance (¶7) and amusement (¶4, ¶8). ## 🎯 Conclusion Eden recommends Prodromou's ActivityPub book as the nearest thing to the single, consistent reference Eden wanted (¶2, ¶10). The post says the book is well organized, thorough on obscure parts of the spec, and has a minimal-server checklist and a "Far Horizons" chapter (¶3, ¶5, ¶8). It also says the book doesn't cover RFC 9421 HTTP Signature verification and says little on poll voting and results (¶7). The judgments of "excellent," "brilliant" and "highly recommended" belong to Eden; the post doesn't compare the book with alternatives. Practical next steps for readers: use the book for fundamentals and the checklist, look for RFC 9421 verification guidance in primary sources and implementation docs, and check whether a newer edition covers the gap. Don't treat the claim that many servers now send RFC 9421 signatures as measured, since the post gives no count. ## 🔄 Refactor Appendix — Book Review: ActivityPub by Evan Prodromou > Density: 2–5 Literature atoms (H1 pad), 0–3 Permanent candidates (H4 pad). > Emitted: 4 Literature, 2 Permanent. Resonance filter applied: the HATEOAS joke, the fridge joke > and the Kobo detail were dropped as color, and the verdict sentence was dropped as repeating the > summary. > > Konik claim-header rules: present tense, declarative, ≤10 words, searchable, unique. > > Atomicity: one declarative sentence per atom. "and"/"also" → split. > > Tag pool: #bmf · #addendum · #xref · #articleseed · #storystem · #share · #aphorisms ### 📚 Literature Split Pad #### [H1] The review names RFC 9421 verification as the gap > [!quote] [¶7] > About the only significant thing missing is details of how to verify RFC 9421 HTTP Signatures. **Context & use**: - ¶7, the reviewer's main criticism. It reports what the book omits, and the "significant" is Eden's judgment. - Keep this separate from outside facts about RFC 9421, which the post doesn't supply. **Tags**: #xref #articleseed <!-- atomicity: 1 idea ✓ --> #### [H2] Eden wants one book that collates the standards > [!quote] [¶1] > The problem with Internet standards is they're scattered all over the place. **Context & use**: - ¶1, the premise of the review. It's a general claim from the reviewer's experience, not a finding. - Pairs with ¶2, where "nearly" marks how close this book comes. **Tags**: #xref <!-- atomicity: 1 idea ✓ --> #### [H3] A living standard outruns any book > [!quote] [¶9] > Ultimately ActivityPub is a living and evolving set of standards. **Context & use**: - ¶9, the frame for the whole review. The post's only example of the problem is the RFC 9421 gap (¶7). - A general claim by the reviewer, not tested in the post. **Tags**: #xref #aphorisms <!-- atomicity: 1 idea ✓ --> #### [H4] The book includes a minimal-server checklist > [!quote] [¶5] > There's an excellent checklist for all the steps needed when building a minimal ActivityPub server. **Context & use**: - ¶5. This is both a content claim (the checklist exists) and an opinion ("excellent"). The post doesn't list the steps. - The most directly usable item for an implementer. **Tags**: #xref #share <!-- atomicity: 1 idea ✓ --> ### 🧠 Atomic Split Pad #### [P1] A reference book's gaps cluster at the newest features **Claim** (one sentence, Courtney's voice): A reference book on a living standard is thinnest on its newest features, so its omissions show where implementers have to look elsewhere. **Evidence pointer**: [[#H1]] · [[#H3]] **Scope & conditions**: Based on one review of one book, so it's a hypothesis with a single example (RFC 9421). It holds when the standard changed after the book's manuscript was fixed. It breaks when the author documents upcoming changes or when a gap comes from page limits and not from timing. The post doesn't give dates to check which applies. **Links**: - [[Documenting moving standards]] — because extends - [[Interop failure surfaces]] — because evidence-for - [[ActivityPub]] — because applies-in <!-- atomicity: 1 idea ✓ --> #### [P2] A useful review separates contents from judgment **Claim** (one sentence, Courtney's voice): A book review is easiest to reuse when it keeps what the book contains apart from what the reviewer thinks of it. **Evidence pointer**: [[#H4]] · [[#H1]] **Scope & conditions**: Holds for short opinion reviews like this one, where "excellent" (¶5) and "checklist exists" (¶5) share a sentence. It breaks for reviews that quote the book at length. The separation is the analyst's work here, since the post blends the two. **Links**: - [[Reading book reviews critically]] — because extends - [[Source types and commercial interest]] — because contrasts on disclosure of who supplied the copy <!-- atomicity: 1 idea ✓ --> ### ✏️ Fleeting Queue - [F1] Check whether any primary source (the RFC, server docs) explains RFC 9421 verification for ActivityPub implementers, as the book reportedly doesn't (¶7) #fleeting #inbox - [F2] Open question: how did Eden get the ePub? ¶6 says only that it "was supplied" via Kobo #fleeting #inbox - [F3] Is the HATEOAS passage (¶4) from the book? The capture doesn't mark it as a quotation #fleeting #inbox #articleseed ### → Things 3 (max 2 actions) - [ ] Look up RFC 9421 and the main ActivityPub server docs, and note whether verification guidance exists for implementers, Post Kinds and IndieWeb federation research #things - [ ] Decide whether to buy the book, using the minimal-server checklist and the RFC 9421 caveat, reading list #things <!-- deep-read:sections end --> 📄 **Full text:** [[Full Document Contents/Articles/Book Review ActivityPub by Evan Prodromou.md|Book Review: ActivityPub by Evan Prodromou by Terence Eden]] ## Highlights - As part of [my grant from NLnet](https://shkspr.mobi/blog/2026/08/activitybot-is-the-recipient-of-an-nlnet-grant/) to improve my Fediverse bot project, I'm spending time making sure I understand all the fundamentals of ActivityPub. The problem with Internet standards is they're scattered all over the place. Abandoned forums, half-maintained wikis, mailing lists with obscure rules, and monolithic blocks of text. ([View Highlight](https://read.readwise.io/read/01m1ehjrtan6wb34pad9jbkzjr)) - Note: The book's value is CONSOLIDATION, not novelty — it adds no new protocol knowledge, it just stops the knowledge being scattered. Under-appreciated category of technical work, and a direct argument for funding documentation alongside implementation. Same discoverability problem federated ecosystems face generally: consolidated docs are infrastructure, not a nicety. - Tags: atom/literature/h2 - About the only significant thing missing is details of how to verify RFC 9421 HTTP Signatures. That's understandable as they're pretty new, but a bit annoying as that's what a lot of servers are sending now. Similarly, there's a good write up of how to publish a poll, but not much about voting or publishing the results. ([View Highlight](https://read.readwise.io/read/01m1ehjnxvd9ewwr4sdz50skw1)) - Note: The load-bearing finding, and bigger than "a bit annoying" suggests. RFC 9421 is HTTP Message Signatures, Standards Track, Feb 2024 (verified against the RFC Editor). The Fediverse ran for years on an EXPIRED Internet-Draft for request signing; 9421 is the finalized replacement and the migration is live now. A reference that covers everything except signature verification omits exactly where implementers get stuck and where interop actually breaks. Directly relevant to Post Kinds / IndieWeb federation work. - Tags: atom/literature/h1