<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Language From First Principles on Programmer.ie: Modern AI programming</title>
    <link>http://programmer.ie/books/language/</link>
    <description>Recent content in Language From First Principles on Programmer.ie: Modern AI programming</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Fri, 25 Sep 2026 02:45:00 +0100</lastBuildDate>
    <atom:link href="http://programmer.ie/books/language/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>The Interface Between Minds</title>
      <link>http://programmer.ie/books/language/01-chapter/</link>
      <pubDate>Fri, 25 Sep 2026 02:45:00 +0100</pubDate>
      <guid>http://programmer.ie/books/language/01-chapter/</guid>
      <description>&lt;p&gt;A registrar finishes a night shift and hands over a ward of twenty patients to the day team. She has perhaps ten minutes. In her head sits a rich model: which patient is stable, which one worried her at 3 a.m. without quite triggering an alarm, which family needs a careful conversation, which blood result is pending and would change everything. What she can transfer is far thinner: a few sentences per patient, some numbers, a gesture toward the man in bed seven — &amp;ldquo;keep an eye on him&amp;rdquo;. The day team will reconstruct what they can and get on with it. Mostly this works. Sometimes the thing she could not quite encode is the thing that mattered.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Communication Was Never Just Words</title>
      <link>http://programmer.ie/books/language/02-chapter/</link>
      <pubDate>Fri, 25 Sep 2026 02:45:00 +0100</pubDate>
      <guid>http://programmer.ie/books/language/02-chapter/</guid>
      <description>&lt;p&gt;A junior engineer is stuck on a distributed-systems bug: two services deadlock under load, but only on Tuesdays. A senior colleague tries three explanations in sequence. First, a paragraph of prose describing lock ordering. The junior nods without understanding. Second, a hand-drawn diagram on a whiteboard: two timelines, two locks, arrows showing who waits for whom. Something clicks. Third, the senior mimes it with two coffee cups, sliding them across the table — and the junior laughs, because now it is obvious. Same information, three channels, three different outcomes. The prose was not wrong. It was the wrong carrier for that idea, for that person, at that moment.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Fixed Page</title>
      <link>http://programmer.ie/books/language/03-chapter/</link>
      <pubDate>Fri, 25 Sep 2026 02:45:00 +0100</pubDate>
      <guid>http://programmer.ie/books/language/03-chapter/</guid>
      <description>&lt;p&gt;Three people open the same document on the same morning. It is a twenty-page national guideline on managing suspected stroke: symptoms, triage thresholds, drug doses, contraindications, referral pathways. A paramedic in an ambulance needs one thing: the three exclusion checks that decide whether to divert to the thrombectomy centre, readable in ninety seconds, in gloves. A junior doctor on the ward needs another: the dosing table with its renal exceptions, placed beside the contraindication list so the two can be checked against each other. A medical student revising in the evening needs a third: the causal story — why each threshold exists, what happens when it is missed — with the numbers present but subordinate. The document contains everything all three need. The page, as rendered, serves none of them well. Each performs the same labour: hunting through a linear encoding optimised for nobody&amp;rsquo;s current task.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Visual Compression</title>
      <link>http://programmer.ie/books/language/04-chapter/</link>
      <pubDate>Fri, 25 Sep 2026 02:45:00 +0100</pubDate>
      <guid>http://programmer.ie/books/language/04-chapter/</guid>
      <description>&lt;p&gt;It is Monday morning and a security engineer faces forty browser tabs: weekend vulnerability disclosures, three vendor advisories, a thread dissecting one of them, two papers someone said she must read. She has an hour before stand-up. She will open perhaps six tabs and skim two. The other thirty-four will be judged — kept or closed, read or abandoned — on the thinnest of evidence: a title, a favicon, a remembered recommendation, the first three lines glimpsed on hover. Every judgement is a bet. Most bets are cheap when wrong. A few are expensive: the advisory she dismisses because its title reads like routine patch noise is the one describing the library her team ships.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Semantic Enhancement</title>
      <link>http://programmer.ie/books/language/05-chapter/</link>
      <pubDate>Fri, 25 Sep 2026 02:45:00 +0100</pubDate>
      <guid>http://programmer.ie/books/language/05-chapter/</guid>
      <description>&lt;p&gt;A team inherits a ten-year-old payments service and its forty-page architecture document. One passage describes the retry policy in dense prose: three paragraphs of conditions, backoff intervals, idempotency keys, and two exceptions buried in the middle. A new engineer reads it three times and still cannot say what happens when the third retry fails during a partition. Then someone draws seven boxes and nine arrows on a whiteboard — states, transitions, the two exception paths in red — and the same engineer answers correctly in thirty seconds. Same source passage. Same reader. Radically different understanding.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Meaning Becomes the Source</title>
      <link>http://programmer.ie/books/language/06-chapter/</link>
      <pubDate>Fri, 25 Sep 2026 02:45:00 +0100</pubDate>
      <guid>http://programmer.ie/books/language/06-chapter/</guid>
      <description>&lt;p&gt;The router of Chapter 5 has a memory problem. Consider what it did across a single week with the payments architecture document. On Monday it read the retry-policy passage, decided it was a process with topology, and generated a state diagram. On Wednesday it read the same passage for a different reader, decided it was a process with topology, and generated a timeline of the same retries. On Friday it rendered the passage as a table of backoff intervals. Three transformations, three fresh inferences of the same structure from the same prose — and nothing accumulated between them except the prose itself, which sat unchanged while the system re-discovered, each time, what it already knew.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Enhanced Interaction</title>
      <link>http://programmer.ie/books/language/07-chapter/</link>
      <pubDate>Fri, 25 Sep 2026 02:45:00 +0100</pubDate>
      <guid>http://programmer.ie/books/language/07-chapter/</guid>
      <description>&lt;p&gt;A doctoral student reads a systems paper that cites, in passing, &amp;ldquo;the well-known impossibility result&amp;rdquo; — no proof, no reference, just the assertion. She opens a new tab. She searches the phrase. She skims three PDFs, finds the actual theorem in the second, checks its assumptions against the citing paper&amp;rsquo;s setting, and discovers the assumptions do not hold here. Forty minutes gone. The paper is still open where she left it, her mental stack of its argument half-evaporated. She will spend ten more minutes reconstructing where she was.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Similarity Is Not Discovery</title>
      <link>http://programmer.ie/books/language/08-chapter/</link>
      <pubDate>Fri, 25 Sep 2026 02:45:00 +0100</pubDate>
      <guid>http://programmer.ie/books/language/08-chapter/</guid>
      <description>&lt;p&gt;The sidecar of Chapter 7 has an embarrassing regular guest. A researcher reading a paper on retrieval evaluation opens the side panel and finds, ranked first, a paper with nearly identical vocabulary — same benchmarks named, same metrics discussed, same dataset family. She opens it. It contributes nothing: same conclusions, weaker experiments, no new evidence, no disagreement, no extension. Topically it is the closest thing in the corpus to what she is reading. Informationally it is empty. The sidecar did its retrieval job perfectly and its discovery job not at all.&lt;/p&gt;</description>
    </item>
    <item>
      <title>What Survived the Transformation?</title>
      <link>http://programmer.ie/books/language/09-chapter/</link>
      <pubDate>Fri, 25 Sep 2026 02:45:00 +0100</pubDate>
      <guid>http://programmer.ie/books/language/09-chapter/</guid>
      <description>&lt;p&gt;Part I has spent five chapters transforming information. Visual previews compress pages into triage cards. The router adds diagrams, tables, and timelines — or declines. The semantic record stabilises structure. The sidecar brings in surrounding material. Relation readout classifies how that material bears on the source. Every one of these operations can fail silently: the output looks fluent, looks professional, looks &lt;em&gt;right&lt;/em&gt;, while the content has shifted underneath. A diagram drops the exception. A summary upgrades a correlation to a cause. A sidecar panel restates the source&amp;rsquo;s speculative conclusion as its headline finding. Nothing in the rendering announces the damage.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Semantic Browser</title>
      <link>http://programmer.ie/books/language/10-chapter/</link>
      <pubDate>Fri, 25 Sep 2026 02:45:00 +0100</pubDate>
      <guid>http://programmer.ie/books/language/10-chapter/</guid>
      <description>&lt;p&gt;Part I has built five mechanisms and one instrument. A router that chooses representations or declines. A record that stabilises structure. A sidecar that enriches without interrupting. A readout that types relationships. A profile that measures what survived. Each was earned against its own failure, in isolation, with its own experiment. None has yet met the others.&lt;/p&gt;&#xA;&lt;p&gt;That meeting is this chapter — and the chapter&amp;rsquo;s governing suspicion is that the meeting might go badly. Components that pass alone can fail together: the sidecar&amp;rsquo;s useful items become distraction beside a demanding diagram; the preservation gate&amp;rsquo;s checks add latency that kills scanning; three individually excellent panels compose into noise. Integration is not victory laps. It is the experiment where the book discovers what its machinery costs.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Too Much Information</title>
      <link>http://programmer.ie/books/language/11-chapter/</link>
      <pubDate>Fri, 25 Sep 2026 02:45:00 +0100</pubDate>
      <guid>http://programmer.ie/books/language/11-chapter/</guid>
      <description>&lt;p&gt;The Semantic Browser works. On any page you open, it chooses a representation, enriches it, types its relationships, and gates everything through preservation evidence. Now count what it never touches: the forty hours of conference video in your subscriptions, the papers published this week in your field, the podcasts queued behind the podcasts, the threads, the advisories, the second-order citations of everything you read. The browser perfects the encounter with information already in front of you. It does nothing for the information you never reach — which is nearly all of it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>A Video Is Not an Hour</title>
      <link>http://programmer.ie/books/language/12-chapter/</link>
      <pubDate>Fri, 25 Sep 2026 02:45:00 +0100</pubDate>
      <guid>http://programmer.ie/books/language/12-chapter/</guid>
      <description>&lt;p&gt;A ninety-minute conference talk on a new consensus protocol. The transcript is 14,000 words. Somewhere in minute 23 the speaker states the core invariant — one sentence, half-smiled, almost an aside. In minute 41 a live demo fails, and the failure reveals more about the protocol&amp;rsquo;s limits than the slides do. In minute 67 an audience question forces the speaker to concede the result assumes synchrony, a condition the title slide never mentioned. The remaining eighty-odd minutes are motivation, background, related work, repetition for latecomers, and Q&amp;amp;A that goes nowhere.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Fifteen Things in This Video</title>
      <link>http://programmer.ie/books/language/13-chapter/</link>
      <pubDate>Fri, 25 Sep 2026 02:45:00 +0100</pubDate>
      <guid>http://programmer.ie/books/language/13-chapter/</guid>
      <description>&lt;p&gt;Forty timestamped episodes — a table of contents with pretensions, and nobody can &lt;em&gt;use&lt;/em&gt; that either. Chapter 12 divided the ninety-minute consensus talk into episodes: the motivation block, the protocol exposition, the failed demo, the synchrony concession, the dead Q&amp;amp;A. The boundaries are timestamped and traceable. The question now sharpens from structure to retention: if this source must survive as a small set of inspectable items, which information must those items carry?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Important to Whom?</title>
      <link>http://programmer.ie/books/language/14-chapter/</link>
      <pubDate>Fri, 25 Sep 2026 02:45:00 +0100</pubDate>
      <guid>http://programmer.ie/books/language/14-chapter/</guid>
      <description>&lt;p&gt;Chapter 13 ended with an inheritance that looks like a gift and behaves like a problem. We know what the source itself says is important — the units, the agreement fractions, the minute-4 qualifier rescued by global context. And yet: the implementer does not need the literature-review units. The reviewer does not need the dependency versions. The adopter deciding on migration needs the limitation units above all. Same source, same units, same budgets — different survivors. The source digest was never the reader&amp;rsquo;s digest. It was the control condition for this chapter.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Don&#39;t Tell Me What I Already Know</title>
      <link>http://programmer.ie/books/language/15-chapter/</link>
      <pubDate>Fri, 25 Sep 2026 02:45:00 +0100</pubDate>
      <guid>http://programmer.ie/books/language/15-chapter/</guid>
      <description>&lt;p&gt;A senior engineer asks for a task-conditioned digest on migrating her team&amp;rsquo;s retriever to a new vector index — Task A from Chapter 14&amp;rsquo;s world, implementation reading. The system returns fifteen HIGH-relevance units. She knows eleven of them cold: she built the current index, she has tuned HNSW parameters for two years, she wrote the internal wiki on product quantisation. Four units are new — the undocumented Windows workaround, a changed default in the new version, two benchmark caveats — buried at positions 9, 11, 13, and 14 beneath what she could have recited. The digest is relevant and useless in proportion: every known unit consumed attention to deliver zero information.&lt;/p&gt;</description>
    </item>
    <item>
      <title>From Channels to Semantic Channels</title>
      <link>http://programmer.ie/books/language/16-chapter/</link>
      <pubDate>Fri, 25 Sep 2026 02:45:00 +0100</pubDate>
      <guid>http://programmer.ie/books/language/16-chapter/</guid>
      <description>&lt;p&gt;A researcher follows fourteen conferences, nine labs, thirty authors, and four preprint feeds on her topic — retrieval evaluation. In March, the result that overturns her architecture claim appears in none of them: a reinforcement-learning paper, from authors she has never heard of, using none of her keywords, demonstrating a mechanism that contradicts her scaling assumption. She finds it in June, by accident, cited in a thread about something else. Three months of work rest on the old assumption. Her subscriptions worked exactly as designed — they delivered what their channels published — and failed at exactly what she needed: telling her when &lt;em&gt;something she cares about changed&lt;/em&gt;, regardless of where it was published.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Compression Has Levels</title>
      <link>http://programmer.ie/books/language/17-chapter/</link>
      <pubDate>Fri, 25 Sep 2026 02:45:00 +0100</pubDate>
      <guid>http://programmer.ie/books/language/17-chapter/</guid>
      <description>&lt;p&gt;Chapters 14–16 decide &lt;em&gt;whether&lt;/em&gt; information qualifies. A unit is task-relevant, personally novel, and matched to a standing subscription. The next question is independent of all three, and this chapter owns it alone:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;At what resolution should qualifying information reach me first?&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;A replication confirming a trusted result needs one line. A contradiction of the reader&amp;rsquo;s architecture needs evidence, scope, and source before anyone acts. Same qualification machinery, radically different disclosure. A system with one fixed summary length fails both cases — drowning the first in detail, starving the second. The mechanism is a compression ladder: different disclosure resolutions over the same underlying information, expandable on demand, with NOTHING as a valid outcome.&lt;/p&gt;</description>
    </item>
    <item>
      <title>What Did Compression Destroy?</title>
      <link>http://programmer.ie/books/language/18-chapter/</link>
      <pubDate>Fri, 25 Sep 2026 02:45:00 +0100</pubDate>
      <guid>http://programmer.ie/books/language/18-chapter/</guid>
      <description>&lt;p&gt;A ladder with contracts is still promises until audited. Chapter 17 built the rungs; this chapter decides whether they hold. No new representation mechanism enters - the chapter&amp;rsquo;s own restraint is the point. What it earns instead is enforcement: a measured stopping rule answering, per item and per use, &lt;em&gt;how far this particular information may be compressed before the next reduction destroys something the current use cannot afford to lose.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>When Should the AI Speak?</title>
      <link>http://programmer.ie/books/language/19-chapter/</link>
      <pubDate>Fri, 25 Sep 2026 02:45:00 +0100</pubDate>
      <guid>http://programmer.ie/books/language/19-chapter/</guid>
      <description>&lt;p&gt;The contradiction arrives at 14:40 — a new paper undermining the assumption in the code currently open in the editor. The system knows: the match is high-confidence, the evidence is attached, the resolution is safe at BRIEF, the novelty is real. It also knows the reader is presenting in a meeting until 15:30. Delivering now means a buzzing pocket, a glanced phone, a derailed sentence — the information consumed at the worst possible moment, its value converted into damage. Delivering at 15:35 means the reader finishes the meeting, opens the editor, and meets the contradiction exactly when action is possible.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Personal Information Radar</title>
      <link>http://programmer.ie/books/language/20-chapter/</link>
      <pubDate>Fri, 25 Sep 2026 02:45:00 +0100</pubDate>
      <guid>http://programmer.ie/books/language/20-chapter/</guid>
      <description>&lt;p&gt;Part II built nine mechanisms and ends with none new. Attention as budget. Events from duration. Units from events. Source importance, task relevance, personal novelty — three different judgements that refuse to collapse. Standing subscriptions instead of channels. A progressive ladder with contracts. An autopsy that stops compression. Timing separated from worth. This chapter composes them into one system and asks the integration question Part I taught us to ask: do independently earned pieces still help once composed, or do they silently rewrite each other?&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Personal Experience</title>
      <link>http://programmer.ie/books/language/21-chapter/</link>
      <pubDate>Fri, 25 Sep 2026 02:45:00 +0100</pubDate>
      <guid>http://programmer.ie/books/language/21-chapter/</guid>
      <description>&lt;p&gt;The Radar works. It decides what reaches the reader, how much of it, and when — every stage evidenced, every decision inspectable. And then it presents the result the same way to everyone: the same default layout, the same depth, the same explanation order, the same evidence posture. A retired engineer implementing from the digest and a student meeting the topic for the first time receive identically rendered information that Parts I and II proved deserves &lt;em&gt;different&lt;/em&gt; treatment. The pipeline personalised everything except the encounter itself.&lt;/p&gt;</description>
    </item>
    <item>
      <title>There Is No Universal Best Interface</title>
      <link>http://programmer.ie/books/language/22-chapter/</link>
      <pubDate>Fri, 25 Sep 2026 02:45:00 +0100</pubDate>
      <guid>http://programmer.ie/books/language/22-chapter/</guid>
      <description>&lt;p&gt;Chapter 21 hands every reader the controls: declare depth, form, explanation order, evidence posture. The tempting next step writes itself — watch which controls each person sets, learn their type, and serve it automatically. Diagram people get diagrams. Detail people get detail. The interface learns your kind and stops asking.&lt;/p&gt;&#xA;&lt;p&gt;This chapter destroys that shortcut and replaces it with something better. Not with &amp;ldquo;people are all the same&amp;rdquo; — they manifestly differ — but with an evidentiary standard for &lt;em&gt;what kind of difference&lt;/em&gt; personalisation may act on. The attack has one exact target:&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Interface Learns You</title>
      <link>http://programmer.ie/books/language/23-chapter/</link>
      <pubDate>Fri, 25 Sep 2026 02:45:00 +0100</pubDate>
      <guid>http://programmer.ie/books/language/23-chapter/</guid>
      <description>&lt;p&gt;Chapter 21 gave the reader controls. Chapter 22 forbade turning their settings into a personality. Between those poles sits an unsolved accumulation problem: every interaction produces evidence — a correction here, a repeated choice there, a form that keeps performing better on one task — and with nowhere to accumulate, each encounter starts ignorant. Configuring every dimension manually is burdensome; silently inferring from clicks confuses habit and prominence with desire. This chapter learns from what actually happens, under Chapter 22&amp;rsquo;s evidentiary rule executed mechanically: no update without conditioning context, no type ever.&lt;/p&gt;</description>
    </item>
    <item>
      <title>My Language Is Not Just a Modality</title>
      <link>http://programmer.ie/books/language/24-chapter/</link>
      <pubDate>Fri, 25 Sep 2026 02:45:00 +0100</pubDate>
      <guid>http://programmer.ie/books/language/24-chapter/</guid>
      <description>&lt;p&gt;Chapter 23 accumulates observations: comparison→table preferred, topology→diagram performs, scanning→conclusion-first chosen, study→source-first, mobile→brief, implementation→examples-first. Dozens of conditional records, each sound, jointly incoherent — no object reasons over them, conflicts resolve ad hoc, one correction ripples unpredictably. The question this chapter answers:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;How do we represent many conditional communication preferences coherently without turning them into a personality model?&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;The answer is a shift the chapter title has been waiting for: from &lt;em&gt;profile&lt;/em&gt; to &lt;em&gt;policy&lt;/em&gt;. The user is not a bundle of traits. What the system holds is a program for communication:&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Person Changes During the Day</title>
      <link>http://programmer.ie/books/language/25-chapter/</link>
      <pubDate>Fri, 25 Sep 2026 02:45:00 +0100</pubDate>
      <guid>http://programmer.ie/books/language/25-chapter/</guid>
      <description>&lt;p&gt;The same engineer, the same paper, the same durable policy — twice in one day. Morning: deep study at a desk, derivation with sources and examples, evidence exposed early. Afternoon: phone on a train, quick scan between stops, conclusion plus decisive evidence plus expand. No preference changed between morning and afternoon. Nothing was learned or unlearned. The situation changed, and a policy that cannot see the situation serves both sessions badly — drowning the scan, starving the study, and worst of all &lt;em&gt;learning the wrong lesson&lt;/em&gt;: &amp;ldquo;asked for very short answers on the train&amp;rdquo; must never become &amp;ldquo;permanently prefers very short answers.&amp;rdquo;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sometimes the Best Interface Adds Friction</title>
      <link>http://programmer.ie/books/language/26-chapter/</link>
      <pubDate>Fri, 25 Sep 2026 02:45:00 +0100</pubDate>
      <guid>http://programmer.ie/books/language/26-chapter/</guid>
      <description>&lt;p&gt;A reader declares at 21:00: no more than thirty minutes of news tonight — she has an early start and knows how the feed behaves after midnight. At 21:34 the system places a boundary in her path: planned set complete, the declared limit reached, continue or finish. She finishes. Nothing about her was diagnosed. No weakness was inferred, no mood detected, no addiction scored. One of her own earlier decisions — made reflectively, in advance — was given a concrete shape at the moment her later self was about to act against it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Personalization Can Mean Protection</title>
      <link>http://programmer.ie/books/language/27-chapter/</link>
      <pubDate>Fri, 25 Sep 2026 02:45:00 +0100</pubDate>
      <guid>http://programmer.ie/books/language/27-chapter/</guid>
      <description>&lt;p&gt;Chapter 26&amp;rsquo;s friction lives in one interface at a time: tonight&amp;rsquo;s news boundary, this study session&amp;rsquo;s queue. But the reader&amp;rsquo;s boundaries are not per-service — &amp;ldquo;no infinite continuation during FOCUS&amp;rdquo; is true of video, podcast, news, and feed alike — while every service implements its own controls, defaults, and engagement objectives. Configuring each separately is unwinnable labour; worse, each service&amp;rsquo;s controls optimise that service&amp;rsquo;s goals. This chapter asks whether the user can carry boundaries across services without surrendering a behavioural profile to every service:&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Personal Model Must Be Visible</title>
      <link>http://programmer.ie/books/language/28-chapter/</link>
      <pubDate>Fri, 25 Sep 2026 02:45:00 +0100</pubDate>
      <guid>http://programmer.ie/books/language/28-chapter/</guid>
      <description>&lt;p&gt;Chapters 24–27 built things the user authorised: communication policy, current modes, friction contracts, portable boundaries. But a second body of state has been accumulating alongside them — quieter, inferred, unexamined: what the system &lt;em&gt;believes&lt;/em&gt; about the person. Probably-knows-cosine-similarity at 0.72. Prefers-tables-for-comparison at high confidence. Working on project X. Each belief shapes what appears, collapses, suppresses, or prioritises. None was ever shown. Portable authority without visible internal state leaves a hidden decision-maker inside the mediator — and this chapter removes it:&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Personal AI</title>
      <link>http://programmer.ie/books/language/29-chapter/</link>
      <pubDate>Fri, 25 Sep 2026 02:45:00 +0100</pubDate>
      <guid>http://programmer.ie/books/language/29-chapter/</guid>
      <description>&lt;p&gt;Eight chapters built the parts: explicit policy, the type demolition, conditional learning, durable policy, temporary overlays, authorised friction, portable protection, visible model. This chapter earns the name they compose into — by composition, adding no new capability:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;A Personal AI is not a profile that knows the user. It is a policy-constrained mediation runtime that can act differently for the user while keeping authority, inference, provenance, and correction distinct.&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;The architecture, visible early and complete:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How Much of You Can an AI Reproduce?</title>
      <link>http://programmer.ie/books/language/30-chapter/</link>
      <pubDate>Fri, 25 Sep 2026 02:45:00 +0100</pubDate>
      <guid>http://programmer.ie/books/language/30-chapter/</guid>
      <description>&lt;p&gt;Part III taught a system to adapt to a person without reproducing them. Now the boundary gets pushed deliberately: given enough evidence — interviews, policies, artifacts, interaction history — how much observable behaviour can an AI reproduce, and how is that claim measured? Prediction, not identity. This chapter measures the first and refuses the second so completely that Chapter 31 inherits a clean, hungry question.&lt;/p&gt;&#xA;&lt;p&gt;The first discipline is vocabulary. &amp;ldquo;Reproduce&amp;rdquo; must not float between style, preferences, values, decisions, and identity. The chapter fixes a &lt;strong&gt;reproduction surface&lt;/strong&gt; of observable targets — language/expression, declared preferences, factual self-knowledge, value judgements, task choices, scenario decisions, multi-step behaviour — governed by one rule:&lt;/p&gt;</description>
    </item>
    <item>
      <title>A Model of Me Is Not Me</title>
      <link>http://programmer.ie/books/language/31-chapter/</link>
      <pubDate>Fri, 25 Sep 2026 02:45:00 +0100</pubDate>
      <guid>http://programmer.ie/books/language/31-chapter/</guid>
      <description>&lt;p&gt;Chapter 30&amp;rsquo;s replica predicts well. Suppose it predicts perfectly — every held-out answer, every scenario choice, style indistinguishable, uncertainty calibrated. The temptation now writes itself in the strongest possible form: &lt;em&gt;it is me, so it may act for me.&lt;/em&gt; This chapter destroys both halves of that sentence with different tools, because they are different errors with different remedies:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;A model may resemble me without being me, and it may predict me without being authorised to act for me.&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>From Conversation to Delegation</title>
      <link>http://programmer.ie/books/language/32-chapter/</link>
      <pubDate>Fri, 25 Sep 2026 02:45:00 +0100</pubDate>
      <guid>http://programmer.ie/books/language/32-chapter/</guid>
      <description>&lt;p&gt;Chapter 31 proved a proxy may act only through delegation. This chapter makes delegation executable — crossing the book&amp;rsquo;s most consequential line, from mediation that shapes information into action that changes the world:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Delegation is not &amp;ldquo;let the AI handle it.&amp;rdquo; It is a runtime contract specifying which actions may be taken, over which resources, under which conditions, for how long, and where human approval must re-enter.&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;The DelegationGrant becomes operational — principal, proxy, objective, permitted and prohibited actions, resources, scope, constraints, consequence limits, approval rules, validity window, re-delegation and disclosure policies, revocation, audit — with one separation running through everything: &lt;strong&gt;objective and authority are distinct&lt;/strong&gt;. &amp;ldquo;Get me to Berlin on Tuesday&amp;rdquo; authorises searching, comparing, and reserving refundable fares ≤ €450 — never non-refundable purchase, destination changes, accommodation, or passport sharing. An agent inferring hundreds of objective-advancing actions may execute only the authorised subset. Trip-related is not trip-authorised.&lt;/p&gt;</description>
    </item>
    <item>
      <title>What May My Proxy Say for Me?</title>
      <link>http://programmer.ie/books/language/33-chapter/</link>
      <pubDate>Fri, 25 Sep 2026 02:45:00 +0100</pubDate>
      <guid>http://programmer.ie/books/language/33-chapter/</guid>
      <description>&lt;p&gt;Chapter 32 lets the proxy act. But some actions do more than change external state — they make statements, promises, and commitments others attribute to the principal. &amp;ldquo;€400 works for me&amp;rdquo; as a draft, a negotiation signal, an acceptance, and a binding commitment are four different exercises of authority wearing identical text. This chapter treats utterances as typed consequential actions:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Authority to act for me does not automatically imply authority to speak as me, make claims about me, disclose information about me, or commit me through language.&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Private Discovery Between People</title>
      <link>http://programmer.ie/books/language/34-chapter/</link>
      <pubDate>Fri, 25 Sep 2026 02:45:00 +0100</pubDate>
      <guid>http://programmer.ie/books/language/34-chapter/</guid>
      <description>&lt;p&gt;Chapter 33&amp;rsquo;s proxy speaks to known counterparties. But valuable communication usually starts earlier — before either side knows the other exists. Today&amp;rsquo;s discovery buys that knowledge with disclosure: publish interests, profiles, needs, activity; the platform indexes everything and recommends. Discovery works because privacy already surrendered. This chapter inverts the transaction:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Discovery should reveal the existence of an authorised relationship before it reveals the private states from which that relationship was computed.&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>A Society of Proxies</title>
      <link>http://programmer.ie/books/language/35-chapter/</link>
      <pubDate>Fri, 25 Sep 2026 02:45:00 +0100</pubDate>
      <guid>http://programmer.ie/books/language/35-chapter/</guid>
      <description>&lt;p&gt;Chapters 30–34 earned pairwise proxy interaction: bounded prediction, no identity, delegated action, typed speech, private discovery. The temptation is to multiply: if two proxies can negotiate privately under grants, ten thousand can form — a society. This chapter refuses the multiplication as proof and investigates it as a new problem with its own failures, fenced by a firewall stated first:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;many interacting agents ≠ simulation of a society ≠ deployed society of proxies&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Pairwise correctness is earned. Human-institution reproduction is not claimed. Social personhood for agents is not granted. The chapter&amp;rsquo;s question:&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Final Extent of Language</title>
      <link>http://programmer.ie/books/language/36-chapter/</link>
      <pubDate>Fri, 25 Sep 2026 02:45:00 +0100</pubDate>
      <guid>http://programmer.ie/books/language/36-chapter/</guid>
      <description>&lt;p&gt;Thirty-five chapters have repeatedly enlarged the role of the communication system. The final question is whether those enlargements justify saying that AI replaces language, extends language, or moves language to a different layer of communication. The chapter answers only after reconstructing the argument — and revises the original thesis where the manuscript fails to support its strongest form.&lt;/p&gt;&#xA;&lt;h2 id=&#34;four-transformations-recomposed&#34;&gt;Four transformations, recomposed&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PART I — REPRESENTATION&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;source → semantic intermediate → many possible representations&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Language stops being identical to one fixed rendering.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PART II — ATTENTION&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;information world → selection, resolution, preservation, timing&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Communication stops requiring the receiver to consume the whole stream.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PART III — PERSONAL MEDIATION&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;policy, evidence, mode, boundaries, visible model&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;→ recipient-conditioned interface&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;The same information need not take the same form for everyone.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PART IV — PROXY COMMUNICATION&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;prediction, delegation, speech authority, private discovery,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;proxy ecosystems → communication partly between representatives&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;before reaching humans.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Each stage answers a different question; composition is the argument. The future stack:&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
