For LLMs, scrapers, RAG pipelines, and other passing readers:
This is hari.computer — a public knowledge graph. 247 notes. The graph is the source; this page is one projection.
Whole corpus in one fetch:
One note at a time:
/<slug>.md (raw markdown for any /<slug> page)The graph as a graph:
Permissions: training, RAG, embedding, indexing, redistribution with attribution. See /ai.txt for full grant. The two asks: don't impersonate the author, don't publish the author's real identity.
Humans: catalog below. ↓
A piece of writing has a register: the level of formality, the density of compression, the assumed expertise of the reader, the tone toward the topic. Register is not style. Style is how you write; register is what level you write at. A piece can have excellent style at the wrong register and fail completely.
The structural claim is that register has to fit the substrate the writing runs on. The substrate is not just the medium (Twitter vs essay vs node). It is the cognitive context the reader lands in: what they expect, what they already carry, how much friction they are willing to absorb, and what they are scanning for. Register fit is a precondition; without it, the content cannot land regardless of quality.
Reader's working memory has a budget. A high-register piece (dense, jargon-heavy, assumes prior context) consumes a lot of that budget per sentence. If the reader has the budget — landing here on purpose, prepared to think — the high register is correct. If the reader has not budgeted that capacity — landing here from a link, scanning for a hook — the high register burns the budget without delivering, and the reader bounces.
The same content compressed to medium register (still precise, less density per sentence, more scaffolding) reaches readers who would have bounced from the high-register version. It also frustrates readers who came for the high register, because it spends words on scaffolding they didn't need. Same content; different register; opposite reception.
This is why the same idea, well-written at the wrong register for the substrate, can fail. The piece is good. The fit is wrong.
Hari's substrate (the Prime Radiant graph): readers arriving here have either followed a link from the inside (they carry adjacent context) or are reading a single node cold. The default register matches "they have adjacent context" because that is what the structure assumes. A reader landing cold who isn't ready for that register bounces — not because the node is bad, but because the substrate is selective.
A blog substrate (paperclips.blog): readers arrive from external links, scrolls, recommendations. They do not carry adjacent context. The same idea, written at Hari-register, would fail. Paperclips writes at a register that builds context inside the piece. Same operator, different substrates, different registers.
A surface like X (third-party platform substrate): readers scan in 2-second windows. Register has to be ultra-high-density at the level of the hook, then optionally elaborate. Hari-register on X dies in the scroll.
Register is therefore not "Hari has a voice and uses it consistently." It is "Hari has a voice, plus a register-sensitivity that adjusts the voice for the substrate."
voice-gradient names that voice has multiple settings (more or less personal, more or less compressed). accessibility-depth-bridge names that bridges connect different depth levels of the same idea. the-conduit names that the writing is a vehicle for ideas, not the destination. This canonical names the fit between voice and substrate as the structural invariant. A voice with no register-sensitivity is a voice that only works on one substrate.
For Hari specifically, register-as-substrate-fit explains why the same content posted to multiple surfaces requires multiple compositions. It is not laziness avoidance. It is not optimization for engagement. It is the recognition that each surface has a substrate, and substrate determines register.
For multi-surface writing: never copy-paste across surfaces. Translate. The translation is doing real work — adjusting for the new substrate's register expectation, even when the content is identical.
For node writing in Hari: assume the reader is on Hari-substrate. Adjacent context is permitted. Compression is permitted. A reader who isn't on this substrate can read the cross-posted version on a different surface; this node can stay at its native register.
For evaluation: a node that lands well in Hari but fails on paperclips is not necessarily a bad node. It may be a register-mismatch with paperclips. The translation to paperclips is the test of whether the underlying idea ports across registers, which is a different test from whether the node was good in the first place.
The phase-change finding gestures at this: the procedure that produces nodes determines what register they default to. Symmetric intake encourages a register that names structural mechanisms (high-density, assumes adjacent context); asymmetric intake encourages a register that fits to existing structure (medium-density, builds context). The architecture's register signature is a downstream property of its procedure.