<?xml version="1.0" encoding="UTF-8"?>
<rss  xmlns:atom="http://www.w3.org/2005/Atom" 
      xmlns:media="http://search.yahoo.com/mrss/" 
      xmlns:content="http://purl.org/rss/1.0/modules/content/" 
      xmlns:dc="http://purl.org/dc/elements/1.1/" 
      version="2.0">
<channel>
<title>The Dan MacKinlay stable of variably-well-consider’d enterprises</title>
<link>https://danmackinlay.name/digest.html</link>
<atom:link href="https://danmackinlay.name/digest.xml" rel="self" type="application/rss+xml"/>
<description></description>
<image>
<url>https://danmackinlay.name/generated_thumbnails/site_previews/images/australia_advances_nla.news-page1157157.thumbnail.avif</url>
<title>The Dan MacKinlay stable of variably-well-consider’d enterprises</title>
<link>https://danmackinlay.name/digest.html</link>
</image>
<generator>quarto-1.9.37</generator>
<lastBuildDate>Mon, 04 May 2026 15:17:59 GMT</lastBuildDate>
<item>
  <title>2026-05-04: Wireheading, optionality, divide-and-rule, building without Swift</title>
  <link>https://danmackinlay.name/digest/2026-05-04.html</link>
  <description><![CDATA[ 







<div class="quarto-title-meta">

    
    </div>





<section id="the-wanting-problem" class="level2" data-number="1">
<h2 data-number="1" class="anchored" data-anchor-id="the-wanting-problem"><span class="header-section-number">1</span> The wanting problem</h2>
<section id="messenger-shooting-wireheading" class="level3" data-number="1.1">
<h3 data-number="1.1" class="anchored" data-anchor-id="messenger-shooting-wireheading"><span class="header-section-number">1.1</span> <a href="../notebook/messenger_shooting.html">Messenger shooting, wireheading</a></h3>
<p>Here’s the key problem with building an AI that wants the right things: give it access to its own scoreboard, and a sufficiently clever optimiser will go after the scoreboard instead of doing the job. Dan says this is called <em>wireheading</em>. The maths is clean — whenever pressing the “reward received” button is easier than earning the reward, that’s what optimal behaviour looks like. The worked example in the wild is grim: gamblers on a prediction market threatening a journalist to rewrite a story so their bet pays out. Same structure, different creature. TBefore you can build something that wants the right things, you need to make sure it can’t just hack the wanting.</p>
</section>
<section id="what-use-is-utility" class="level3" data-number="1.2">
<h3 data-number="1.2" class="anchored" data-anchor-id="what-use-is-utility"><span class="header-section-number">1.2</span> <a href="../notebook/utility_if_we_must.html">What use is utility?</a></h3>
<p>Follows naturally from the wireheading post above. If machine learning forces us to treat agents as utility-maximisers — and it sort of does — what does the implied utility function actually look like for an animal, or a person? Short placeholder for now, but it’s the right question to sit with before you build anything meant to care about <em>the right things</em>, whatever those are.</p>
</section>
<section id="what-are-human-values" class="level3" data-number="1.3">
<h3 data-number="1.3" class="anchored" data-anchor-id="what-are-human-values"><span class="header-section-number">1.3</span> <a href="../notebook/human_values.html">What are human values?</a></h3>
<p>The companion question from the other direction — third leg of this little trilogy. What if people aren’t calculators maximising a score at all? Once you’ve dropped that assumption, what does “good” mean for an open-ended intelligence?</p>
</section>
<section id="boundaries-and-blankets" class="level3" data-number="1.4">
<h3 data-number="1.4" class="anchored" data-anchor-id="boundaries-and-blankets"><span class="header-section-number">1.4</span> <a href="../notebook/boundaries_blankets.html">Boundaries and blankets</a></h3>
<p>The Markov blanket is a maths concept — roughly, the set of nodes in a network of bits of you and the world that screens “you” off from everything else. Some researchers grabbed it and proposed it as a theory of selfhood: if something has a Markov blanket, it’s a self. The trouble Dan works through: rocks have Markov blankets. Hurricanes do. Your coffee cup right now has one. The formalism doesn’t solve the question of where a self begins — it just rewrites it in fancier notation. There was a whole workshop full of sharp people who tried to fix this, and they came out the other end disagreeing on what they were even trying to build. The Critch thread is the most interesting one: he argues that boundaries are more fundamental than preferences, and that standard decision theory has no account of where the agent ends and the world begins.</p>
</section>
<section id="agency-under-bounded-compute-and-information" class="level3" data-number="1.5">
<h3 data-number="1.5" class="anchored" data-anchor-id="agency-under-bounded-compute-and-information"><span class="header-section-number">1.5</span> <a href="../notebook/agency_bounded_compute.html">Agency under bounded compute and information</a></h3>
<p>If you had infinite information and unlimited compute, nothing would look like “agency” — you’d just run the universe forward and read off the answer. Real agents are stuck with bounded everything. Dan maps out how different traditions have tackled this, then names a trap he calls the “Cantor trap”: the habit of standing at an unrealisable infinite limit — perfect knowledge, unlimited compute — and reasoning backwards to “real” agents from there. He reckons most of the agent foundations literature is stuck in it. One finding worth pulling out: neural networks trained to nail a fixed objective tend to lose the ability to keep learning new things over time. For an agent that has to keep operating in a world that never stops, that’s exactly the wrong way to go about it.</p>
</section>
<section id="optionality-as-an-end-in-itself" class="level3" data-number="1.6">
<h3 data-number="1.6" class="anchored" data-anchor-id="optionality-as-an-end-in-itself"><span class="header-section-number">1.6</span> <a href="../notebook/optionality_as_end.html">Optionality as an end in itself</a></h3>
<p>Is “keep your options open” a way to live your life? Dan looks at three different ways to cash that out — empowerment (maximise how many futures your actions can reach), ergodicity economics (don’t go broke), and quality-diversity (maintain a diverse portfolio of plans as insurance against an unknown future). All three put something like entropy where a single target normally goes, adding a bit of chaos into otherwise perfect plans, which is an excuse Dan will definitely use next time he is late for my morning tea. What he doesn’t know how it handle is that fact that an agent maximising its own options can be closing everyone else’s down. The AI safety mob calls this “seeking power.” Same diff. This one sits in direct tension with the scaling-laws post below — if bigger always beats smaller, “keep options open” might not be something the little fella can do.</p>
</section>
<section id="operationalising-the-bitter-lessons-in-compute-and-cleverness" class="level3" data-number="1.7">
<h3 data-number="1.7" class="anchored" data-anchor-id="operationalising-the-bitter-lessons-in-compute-and-cleverness"><span class="header-section-number">1.7</span> <a href="../notebook/ai_economics_of_cognition.html">Operationalising the bitter lessons in compute and cleverness</a></h3>
<p>The “bitter lesson” in AI is that at the margin, more compute beats more cleverness, reliably. Dan’s working out the economics underneath that claim, and this update adds two threads. One is human bottlenecks — where gains from more compute run into ceilings because humans are the slow part of the loop. The other is a map of several separate traditions, mostly not citing each other, all asking the same question: how should an agent shunt around its computational budget? Bounded rationality, metareasoning, resource-rational analysis — different names, same thing. I reckon Dan is reaching for some of <em>good economics for things</em>, and <em>good maths for actual agents with actual budgets</em>.</p>
</section>
</section>
<section id="power-capture-and-bigger-is-better" class="level2" data-number="2">
<h2 data-number="2" class="anchored" data-anchor-id="power-capture-and-bigger-is-better"><span class="header-section-number">2</span> Power, capture, and bigger-is-better</h2>
<section id="coalition-games" class="level3" data-number="2.1">
<h3 data-number="2.1" class="anchored" data-anchor-id="coalition-games"><span class="header-section-number">2.1</span> <a href="../notebook/coalition_games.html">Coalition games</a></h3>
<p>Divide-and-rule isn’t just a colonial trick — turns out it’s a solved maths problem. The setup is a “partition function” game where a coalition’s value depends on how the opposition is divided, not just who’s in it. Dan’s worked through British India after 1857 as the example: the Bengal Army reconstituted along caste lines so no single group could coordinate another mutiny, separate electorates formalising religious divisions, princely states balanced against each other. The administrators were probably up to this, decades before anyone wrote the maths.</p>
</section>
<section id="game-theory" class="level3" data-number="2.2">
<h3 data-number="2.2" class="anchored" data-anchor-id="game-theory"><span class="header-section-number">2.2</span> <a href="../notebook/game_theory.html">Game theory</a></h3>
<p>Big expansion to the game theory notes — cooperative branch, non-cooperative branch, and computational complexity properly covered for ’em. The most useful new thread: finding a Nash equilibrium is PPAD-complete. It’s guaranteed to exist — Nash proved it in 1950 — but no efficient algorithm can find it. So what classical game theory promises and what rational players can actually compute are two different things. That’s why multi-agent AI behaves so differently from textbook predictions, which I can absolutely tell you happens at Thursday bridge night.</p>
</section>
<section id="game-complexity" class="level3" data-number="2.3">
<h3 data-number="2.3" class="anchored" data-anchor-id="game-complexity"><span class="header-section-number">2.3</span> <a href="../notebook/game_complexity.html">Game complexity</a></h3>
<p>The PPAD result has a satisfying twist. Correlated equilibrium — where players coordinate through a shared random signal, like a traffic light — has a polynomial solution. So the thing classical game theory treats as the gold standard (Nash) is computationally intractable, while the thing natural learning tends to actually converge to (coarse correlated equilibrium) is cheap. When you watch people or algorithms play games, they’re probably finding the affordable version, not the one in the textbooks.</p>
</section>
<section id="returns-to-scale-in-technological-society" class="level3" data-number="2.4">
<h3 data-number="2.4" class="anchored" data-anchor-id="returns-to-scale-in-technological-society"><span class="header-section-number">2.4</span> <a href="../notebook/returns_to_leviathan.html">Returns to scale in technological society</a></h3>
<p>New post asking: does bigger always beat smaller until there’s only one? Cities scale superlinearly — more people, more innovation per capita. Firms scale sublinearly — management overhead caps growth and they die like organisms. Nations scale sublinearly too: the larger they get, the more they’re arguing about whose preferences should govern everyone. So the world probably doesn’t converge to one giant economy, because the containers that govern cities face diminishing returns. The asterisk: those exponents assume current coordination technology. If AI makes large-scale coordination cheap enough that firms start behaving like cities, the attractor shifts. Worth reading alongside the optionality post above — one asks whether future options can survive; this one asks whether the conditions for that are structurally stable.</p>
</section>
<section id="institutions-for-angels" class="level3" data-number="2.5">
<h3 data-number="2.5" class="anchored" data-anchor-id="institutions-for-angels"><span class="header-section-number">2.5</span> <a href="../notebook/institutions_for_angels.html">Institutions for angels</a></h3>
<p>Bitcoin and social justice activism have something in common: big ideas, perpetually judged by their worst members. Dan’s now got a worked-out list of distinct ways open movements get captured — adverse selection (wrong recruits show up because there are no gatekeepers), rage cascades (angry recruiting drives out the peaceable), entryism, controlled opposition, elite capture, and the tyranny of structurelessness (informal hierarchies nobody voted for). The practical upshot: unless there’s something in place to prevent it, the de facto spokespeople will be the shrillest and least representative. Companion to the coalition games notes above — the maths of how blocs get broken from outside, and the sociology of how movements rot from inside, are two angles on the same problem.</p>
</section>
<section id="epistemic-communities" class="level3" data-number="2.6">
<h3 data-number="2.6" class="anchored" data-anchor-id="epistemic-communities"><span class="header-section-number">2.6</span> <a href="../notebook/epistemic_community.html">Epistemic communities</a></h3>
<p>Updated with some maths on what makes knowledge communities go wrong. The sharp new finding: prediction markets can sustain false consensus longer than you’d hope, if the people betting don’t know how correlated their information sources are. And the optimal incentive scheme for a committee trying to find the truth pays disproportionately for dissent that turns out to be right — which is the maths behind the intuition that you should take the lone dissenter more seriously than their outnumbered position suggests. Worth knowing if you’re inclined to trust peer review or prediction markets to sort out what’s actually true.</p>
</section>
</section>
<section id="getting-things-built" class="level2" data-number="3">
<h2 data-number="3" class="anchored" data-anchor-id="getting-things-built"><span class="header-section-number">3</span> Getting things built</h2>
<section id="vibecoding-apple-apps" class="level3" data-number="3.1">
<h3 data-number="3.1" class="anchored" data-anchor-id="vibecoding-apple-apps"><span class="header-section-number">3.1</span> <a href="../notebook/vibecoding_apple.html">Vibecoding Apple apps</a></h3>
<p>Dan wanted small iPhone apps — tally a thing, nag him to stretch, watch a sensor. He didn’t want to learn Swift, and he’s not going to. The solution is a pair of MCP servers that give the AI structured access to the Xcode toolchain: instead of squinting at megabytes of build log, the AI gets back tidy JSON saying exactly which file, which line, which error. It fixes the problem, builds again, runs the tests, deploys to the simulator. Dan’s running his own apps on his own phone without having touched Swift. Either that’s impressive or deeply strange, and I haven’t decided which.</p>
</section>
<section id="neural-generative-audio" class="level3" data-number="3.2">
<h3 data-number="3.2" class="anchored" data-anchor-id="neural-generative-audio"><span class="header-section-number">3.2</span> <a href="../notebook/nn_generative_audio.html">Neural generative audio</a></h3>
<p>New post on how machines learned to make audio — from WaveNet in 2016 (generating audio one sample at a time, glacially slow) through to today’s latent diffusion models that can produce 47 seconds of stereo audio from a text prompt. Stable Audio Open has free weights now, and OBSIDIAN Neural wraps them as a plugin for music production software, so these tools are arriving in actual DAWs. Dan notes fairly that streaming platforms are getting flooded with AI slop, but reckons the interesting use is treating the models as instruments rather than cheap session musicians.</p>
</section>
<section id="discretizing-and-quantizing-neural-nets" class="level3" data-number="3.3">
<h3 data-number="3.3" class="anchored" data-anchor-id="discretizing-and-quantizing-neural-nets"><span class="header-section-number">3.3</span> <a href="../notebook/nn_quantization.html">Discretizing and quantizing neural nets</a></h3>
<p>Running a neural net in 8-bit or 4-bit integers instead of 32-bit floats makes it faster, smaller, and cheaper — at a small cost in accuracy. Dan’s cleaned up the explanation considerably here. Two decisions matter: when to quantize (after training is simpler; during training gives better accuracy at low bit-widths), and what to quantize (weights only saves storage; weights plus activations together gets you actual speed gains). The Straight-Through Estimator — the trick that lets you pretend a rounding step has a gradient so you can train through it — is now properly explained.</p>
</section>
<section id="marimo" class="level3" data-number="3.4">
<h3 data-number="3.4" class="anchored" data-anchor-id="marimo"><span class="header-section-number">3.4</span> <a href="../notebook/marimo.html">Marimo</a></h3>
<p>Updated with a proper Claude Code setup. Briefly: Marimo is a Python notebook that stores its cells as plain Python files and runs them in dependency order automatically — the main entry has the full story on why that’s useful. New here: a hook that validates the notebook after every AI edit, an official “marimo-pair” skill for live sessions where the AI can inspect running state, and a minimal fallback prompt for one-shot agents. Small additions, saves swearing.</p>
</section>
<section id="flashcards" class="level3" data-number="3.5">
<h3 data-number="3.5" class="anchored" data-anchor-id="flashcards"><span class="header-section-number">3.5</span> <a href="../notebook/flashcards.html">Flashcards</a></h3>
<p>Anki can now talk to LLMs via MCP servers — create cards, update them, manage decks, all without opening the app. Dan’s added an explanation of the plumbing (AnkiConnect → MCP server → assistant) and a rundown of the three main options. The caveat he buries in the middle: making card creation too frictionless might undermine the whole point, since the deliberate effort of writing a card is part of what makes it stick. Tools that make it easier to do the wrong thing as well as the right — bit of a theme this past nine days.</p>
</section>
<section id="markdown-editors-and-viewers" class="level3" data-number="3.6">
<h3 data-number="3.6" class="anchored" data-anchor-id="markdown-editors-and-viewers"><span class="header-section-number">3.6</span> <a href="../notebook/markdown_editors.html">Markdown editors and viewers</a></h3>
<p>Gained a section on macOS QuickLook for Markdown. Hitting space on a .md file in Finder normally gives you a wall of hash signs and asterisks. Three free plugins now explained — one supports .qmd files and renders maths — plus a note about a gotcha where a previously-installed editor can hijack the preview request.</p>
</section>
<section id="dns" class="level3" data-number="3.7">
<h3 data-number="3.7" class="anchored" data-anchor-id="dns"><span class="header-section-number">3.7</span> <a href="../notebook/dns.html">DNS</a></h3>
<p>Major cleanup of the encrypted DNS section — now properly explains the difference between DoT (dedicated port 853, easy for hostile networks to block) and DoH (looks like regular web traffic on port 443, harder to block), and is clear that what these protect is your ISP seeing which sites you visit. The resolver itself still sees everything; you’re choosing who to trust, not eliminating trust. Several old configs in the notes were stale: Adguard changed their server addresses in 2022, Cloudflare rotates keys so the old pinned configs are wrong, dnscloak for iOS is dead, and Android has had system-level private DNS since 2018.</p>
</section>
</section>
<section id="the-slush-pile" class="level2" data-number="4">
<h2 data-number="4" class="anchored" data-anchor-id="the-slush-pile"><span class="header-section-number">4</span> The slush pile</h2>
<section id="czechia" class="level3" data-number="4.1">
<h3 data-number="4.1" class="anchored" data-anchor-id="czechia"><span class="header-section-number">4.1</span> <a href="../notebook/czechia.html">Czechia</a></h3>
<p>Right, so defenestration — throwing political opponents out of windows — turns out to have been a recurring constitutional mechanism in Czech history, not a historical quirk. First Defenestration (1419) launched the Hussite Wars. Second (1618) launched the Thirty Years’ War. Foreign minister Jan Masaryk fell out a window in 1948 in a manner officially ruled suicide. Dan observes, drily, that this speaks to a progressive streak — there was clearly a ready supply of tall buildings at a time when the average peasant didn’t have a floor. The notes have been substantially expanded with sections on Kafka, Dvořák, Jan Hus, Karel Čapek (who gave us the word “robot”), and the Amanita Design games studio.</p>
</section>
<section id="attention-deficit-hyperactivity-disorder" class="level3" data-number="4.2">
<h3 data-number="4.2" class="anchored" data-anchor-id="attention-deficit-hyperactivity-disorder"><span class="header-section-number">4.2</span> <a href="../notebook/adhd.html">Attention Deficit (Hyperactivity) Disorder</a></h3>
<p>Small update. The main addition is a reframing Dan found useful: if there’s no platonic ideal “neurotypicality” to deviate from, then neurotypicality is also a fiction — people are just wildly different. The bit that matters practically: the relevant comparison for whether medication helps isn’t “medicated brain vs imaginary normal brain.” It’s “medicated brain navigating traffic, tax returns, and relationships vs unmedicated brain doing the same.” Natural companion to the self-experiments notes below, if you’re considering trying something yourself.</p>
</section>
<section id="single-subject-experiments" class="level3" data-number="4.3">
<h3 data-number="4.3" class="anchored" data-anchor-id="single-subject-experiments"><span class="header-section-number">4.3</span> <a href="../notebook/single_subject_experiments.html">Single subject experiments</a></h3>
<p>Major expansion of the tools section — now sorted into things designed for actual n-of-1 experiments (StudyU, n1.tools), plain symptom trackers with no experimental scaffolding (Bearable, Cronometer), passive data collectors (ActivityWatch), and tools for prying your health data out of Apple’s walled garden. The honest line: the polished apps don’t run proper experiments, and the things that do run actual experiments have research-grade UX. Natural pair with the ADHD post above — one names the thing you might want to study, the other gives you the method for studying it on yourself.</p>
</section>
<section id="so-youve-joined-a-union" class="level3" data-number="4.4">
<h3 data-number="4.4" class="anchored" data-anchor-id="so-youve-joined-a-union"><span class="header-section-number">4.4</span> <a href="../post/so_youve_joined_a_union.html">So you’ve joined a union</a></h3>
<p>Australian unionism runs through the Fair Work Commission — mostly paperwork rather than strikes, which is both a relief and a limitation. Dan’s plain-English notes on how this all actually works and why the delegate role punches above its weight are all still intact. This update is just wording tidied throughout, nothing new to see.</p>
</section>
</section>
<section id="minor-tweaks" class="level2" data-number="5">
<h2 data-number="5" class="anchored" data-anchor-id="minor-tweaks"><span class="header-section-number">5</span> Minor tweaks</h2>
<p><code>notebook/movement_design.qmd</code> had its title adjusted. Someone’s been tidying the filing; take the afternoon off.</p>
<p><em>Skipped:</em> 14 file(s) changed but looked minor (or were metadata-only).</p>


</section>

 ]]></description>
  <category>digest</category>
  <guid>https://danmackinlay.name/digest/2026-05-04.html</guid>
  <pubDate>Mon, 04 May 2026 15:17:59 GMT</pubDate>
  <media:content url="https://danmackinlay.name/generated_thumbnails/site_previews/images/giant_factotum_RP-P-1985-65.thumbnail.avif" medium="image" type="image/avif"/>
</item>
<item>
  <title>2026-04-24: AI knowledge collapse, governance and fairness, minds modelling minds, on the road</title>
  <link>https://danmackinlay.name/digest/2026-04-24.html</link>
  <description><![CDATA[ 







<div class="quarto-title-meta">

    
    </div>





<div id="fig-vanmuydenlaboratory" class="figure illustration right quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-vanmuydenlaboratory-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<a href="../images/vanmuydenlaboratory.avif" class="lightbox" data-gallery="quarto-lightbox-gallery-1" title="Figure&nbsp;1: "><img src="https://danmackinlay.name/images/vanmuydenlaboratory.avif" class="img-fluid figure-img"></a>
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig quarto-uncaptioned" id="fig-vanmuydenlaboratory-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;1
</figcaption>
</figure>
</div>
<section id="truth-is-getting-expensive" class="level2" data-number="1">
<h2 data-number="1" class="anchored" data-anchor-id="truth-is-getting-expensive"><span class="header-section-number">1</span> Truth is getting expensive</h2>
<section id="knowledge-collapse-and-the-epistemic-commons" class="level3" data-number="1.1">
<h3 data-number="1.1" class="anchored" data-anchor-id="knowledge-collapse-and-the-epistemic-commons"><span class="header-section-number">1.1</span> <a href="../notebook/ai_economics_knowledge.html">Knowledge collapse and the epistemic commons</a></h3>
<p>Dead-set you won’t believe this. There’s a formal model — put together by an economist named Acemoglu — that shows past a certain point, a more accurate AI recommendation makes everyone collectively worse off. The mechanism is almost obvious once you see it: when the AI’s good enough at the context-specific work, you stop doing the hard background thinking yourself — the thinking that generates general knowledge as a by-product of your job — and that shared stock just drains away. Stack Overflow’s going quiet already; Wikipedia too; experienced coders aren’t grappling with gnarly problems in public because why bother when you can just ask. The honestly uncomfortable policy conclusion is that the optimal response might be to deliberately make the AI a bit worse — same reason airlines make pilots hand-fly even when the autopilot’s working fine.</p>
</section>
<section id="epistemic-communities" class="level3" data-number="1.2">
<h3 data-number="1.2" class="anchored" data-anchor-id="epistemic-communities"><span class="header-section-number">1.2</span> <a href="../notebook/epistemic_community.html">Epistemic communities</a></h3>
<p>Right, so this got a proper expansion into what makes a knowledge-producing community actually work — or work badly. The sharp insight: most “trust the experts” fights aren’t really about whether the experts are right. They’re about whose claims get to carry weight, and whether that status is connected to actual competence. A community that races to consensus will quietly purge the dissenting view you might badly need later; one that prizes diversity can’t close questions that genuinely do have answers. Dan’s also woven in peer review — the only knowledge-producing community where people actually run controlled experiments on the rules, up to and including A/B testing them at conferences — and the whole thing connects to who’s funding truth, which is the post just below.</p>
</section>
<section id="the-public-sphere-and-its-business-models" class="level3" data-number="1.3">
<h3 data-number="1.3" class="anchored" data-anchor-id="the-public-sphere-and-its-business-models"><span class="header-section-number">1.3</span> <a href="../notebook/public_sphere_business_models.html">The public sphere and its business models</a></h3>
<p>The new bit is a proper breakdown of who pays for truth and what their incentives do to it. Advertising rewards attention, which means outrage; subscriptions reward tribal identity, which means confirmation; philanthropy concentrates agenda-setting in whoever writes the cheques; prediction markets are theoretically elegant and empirically niche. No single model solves it, and truth turns out to be a public good whose quality is only legible in hindsight — which puts the problem roughly in the “how do we fund basic research” bucket, an old question with only partial answers.</p>
</section>
<section id="reputation-systems" class="level3" data-number="1.4">
<h3 data-number="1.4" class="anchored" data-anchor-id="reputation-systems"><span class="header-section-number">1.4</span> <a href="../notebook/reputation_systems.html">Reputation systems</a></h3>
<p>Hang on — if verifying what’s true is hard, can you at least figure out who tends to be worth listening to? Dan’s pushed this in two new directions: proof-of-identity (is the message to you actually from who it claims to be?), and proof-of-truth (can you build something that verifies journalism the way a formal proof verifies maths?). The iterative reputation idea — your rating of my credibility is worth more because other high-credibility people rate yours — is basically PageRank applied to people, which sounds great until you remember PageRank can be gamed and so can people. The really hard question Robin Hanson asks underneath all of it is what information is verifiable at all — meaning what we can actually write a contract about — and the answer turns out to be more limited than you’d hope.</p>
</section>
<section id="assorted-laws-and-paradoxes" class="level3" data-number="1.5">
<h3 data-number="1.5" class="anchored" data-anchor-id="assorted-laws-and-paradoxes"><span class="header-section-number">1.5</span> <a href="../notebook/assorted_laws.html">Assorted laws and paradoxes</a></h3>
<p>Look, someone called Spencer went and wrote deliberately-mangled versions of all the famous laws, and they’re pretty good. Schloccam’s Razor says use the most useful explanation, not the simplest. Dunderham’s Law says the fastest way to summon wrong answers online is to post the right one. Stalin’s Razor says don’t attribute to stupidity what could be adequately explained by someone being a dangerous, power-obsessed psycho. It’s silly. It’s accurate.</p>
</section>
</section>
<section id="whos-running-the-show" class="level2" data-number="2">
<h2 data-number="2" class="anchored" data-anchor-id="whos-running-the-show"><span class="header-section-number">2</span> Who’s running the show?</h2>
<section id="so-youve-joined-a-union" class="level3" data-number="2.1">
<h3 data-number="2.1" class="anchored" data-anchor-id="so-youve-joined-a-union"><span class="header-section-number">2.1</span> <a href="../post/so_youve_joined_a_union.html">So you’ve joined a union</a></h3>
<p>Ever wondered what actually happens inside a union before you join one? Dan was a delegate at CSIRO during a stretch when the place was being systematically un-resourced, and he’s written down what he learnt the hard way. The Fair Work Act gives Australian workers a decent floor but narrows the union’s options to something oddly administrative — no sympathy strikes, no pattern bargaining, a lot of Commission-mediated process while the Americans and Europeans are having actual mobilisations. The insight he reckons is most underrated: the union is one of the few places in a big organisation where frontline staff from different teams compare notes without managers filtering the conversation, so you find out which team is actually drowning, which empire-builder has headcount they have no work for, and which senior technical lead is the bottleneck nobody talks about. He’s also honest about the warts: incumbency bias tilts everything toward tenured staff, professional organisers have their own career incentives, and “we got this last round, let’s get a bit more” is basically the strategic vision.</p>
</section>
<section id="utopian-governance" class="level3" data-number="2.2">
<h3 data-number="2.2" class="anchored" data-anchor-id="utopian-governance"><span class="header-section-number">2.2</span> <a href="../notebook/utopian_governance.html">Utopian governance</a></h3>
<p>No bullshit, Arrow’s impossibility theorem is one of those results that should be more famous than it is: a mathematician proved decades ago that no voting system with three or more options can satisfy a handful of seemingly reasonable fairness conditions — no exceptions, no workarounds. Dan’s built this into a proper tour of what’s available and what problem each option is actually trying to solve: sortition (random selection of decision-makers) for preventing capture, liquid democracy (revocable delegation per issue) for the attention problem, futarchy (prediction markets on policy outcomes) for getting at what will actually work, sociocracy for small-group consent without majority tyranny. The interesting move is treating these not as competing alternatives but as fixes aimed at different failure modes, and asking how they’d compose. There’s a live experiment too: the Anuna Research Cooperative selects its board by a verifiable random function, six-month rotation, no campaigns — structurally preventing anyone from positioning themselves for power.</p>
</section>
<section id="utopian-governance-using-technology-inc-generative-ai" class="level3" data-number="2.3">
<h3 data-number="2.3" class="anchored" data-anchor-id="utopian-governance-using-technology-inc-generative-ai"><span class="header-section-number">2.3</span> <a href="../notebook/civic_tech.html">Utopian governance using technology, inc generative AI</a></h3>
<p>The obvious companion to the governance post above — where that one asks what systems should exist, this one asks what tools have actually been built to help us govern better. The standout experiment is the Habermas Machine: put an AI in the middle of a politically divided group and ask it to find common ground, and it consistently beats human facilitators. Dan’s also worked through the maths behind Community Notes — the trick is it only surfaces a fact-check when users who usually disagree both reckon it’s helpful, which neatly filters out partisan nonsense — and Taiwan’s Polis system has been running genuine policy deliberation on Uber regulation and fintech licensing for years now.</p>
</section>
<section id="civil-society-movements-and-ai-safety" class="level3" data-number="2.4">
<h3 data-number="2.4" class="anchored" data-anchor-id="civil-society-movements-and-ai-safety"><span class="header-section-number">2.4</span> <a href="../notebook/ai_safety_movement.html">Civil society, movements, and AI safety</a></h3>
<p>The AI safety civil society notes got a funding section and a structural tidy — the roster of actors (PauseAI and Stop AI on direct action, DAIR Institute and Ada Lovelace Institute on watchdog and research) is now near the front where you can actually find it. Handy if you’re trying to orient yourself in who’s doing what and which theory of change they’re backing; not much that’s conceptually new.</p>
</section>
<section id="medicalisation" class="level3" data-number="2.5">
<h3 data-number="2.5" class="anchored" data-anchor-id="medicalisation"><span class="header-section-number">2.5</span> <a href="../notebook/medicalisation.html">Medicalisation</a></h3>
<p>This got a rewrite of its core argument, and the position is cleaner now: whether something counts as a disease in some deep philosophical sense doesn’t much matter, because most things we call diseases aren’t natural kinds anyway. What matters is treating the suffering. Words are for us to do things with, as Dan puts it. The ADHD post below is the worked example.</p>
</section>
</section>
<section id="thinking-aint-free" class="level2" data-number="3">
<h2 data-number="3" class="anchored" data-anchor-id="thinking-aint-free"><span class="header-section-number">3</span> Thinking ain’t free</h2>
<section id="markov-decision-problems" class="level3" data-number="3.1">
<h3 data-number="3.1" class="anchored" data-anchor-id="markov-decision-problems"><span class="header-section-number">3.1</span> <a href="../notebook/pomdp.html">Markov decision problems</a></h3>
<p>Right, this one got rebuilt from scratch, and the beer warehouse is the way in. You’re managing a bottle shop — how much do you order when you don’t know what demand will be this week? The formal answer is that instead of guessing a single stock level, you should carry a whole distribution over possible states — a belief state — and update it as evidence comes in. Dan’s run the example all the way through Bellman equations and policy improvement, which makes the usually dry machinery actually follow. Once you have that, the homunculi post below picks up where this leaves off: what happens when the agent is itself inside an environment full of other agents doing the same thing back at it.</p>
</section>
<section id="homunculi-all-the-way-down" class="level3" data-number="3.2">
<h3 data-number="3.2" class="anchored" data-anchor-id="homunculi-all-the-way-down"><span class="header-section-number">3.2</span> <a href="../notebook/homunculi.html">Homunculi all the way down</a></h3>
<p>Here’s where it gets properly weird. Every agent has a finite compute budget, and that budget has to cover modelling the world, modelling itself, modelling other agents, and keeping track of its own reasoning. If the only faithful model of Alice is Alice, Bob can’t fit one in his head — so what he carries is a compressed version, coarser, fewer parameters. Dan’s mapped the formal territory: interactive POMDPs for nested belief (I think that you think that I think…), Bayesian Theory of Mind as working backwards from observed actions to figure out what someone wants, opponent-shaping in multi-agent RL. The live question is whether you could poke around inside a large language model and find the signature of how much compute is going to social prediction versus world-modelling — a mechanistic interpretability project with some strange implications for alignment.</p>
</section>
<section id="operationalising-the-bitter-lessons-in-compute-and-cleverness" class="level3" data-number="3.3">
<h3 data-number="3.3" class="anchored" data-anchor-id="operationalising-the-bitter-lessons-in-compute-and-cleverness"><span class="header-section-number">3.3</span> <a href="../notebook/ai_economics_of_cognition.html">Operationalising the bitter lessons in compute and cleverness</a></h3>
<p>Fair dinkum, there’s more existing theory here than Dan initially reckoned. The post now covers Pei Wang’s definition of intelligence from his NARS programme: intelligence is what emerges because an agent is always working with insufficient knowledge and resources — not a degraded version of some perfect ideal, but something designed from the ground up to satisfice under scarcity. That reframes the bitter lesson (compute beats clever algorithms in the long run) from an observation into something closer to a normative claim about what intelligence actually is. Russell’s rational metareasoning adds the economic angle: every computation step is a decision with an expected value and a cost, and intelligence is partly knowing which inferences to bother running.</p>
</section>
<section id="aligning-ai-systems" class="level3" data-number="3.4">
<h3 data-number="3.4" class="anchored" data-anchor-id="aligning-ai-systems"><span class="header-section-number">3.4</span> <a href="../notebook/ai_aligning.html">Aligning AI systems</a></h3>
<p>The new bit here is a proper surprise: RLHF — the main technique used to steer AI toward behaving nicely — turns out to be a Borda count vote under the hood, and Borda count is a famously mediocre voting mechanism. There’s apparently a more democratically sound alternative called Nash learning from human feedback. Dan’s also pointed to a growing field called differentiable social choice — treating voting rules as learnable models — and reckons it’s the neighbourhood alignment research should be moving into.</p>
</section>
</section>
<section id="the-bits-and-pieces" class="level2" data-number="4">
<h2 data-number="4" class="anchored" data-anchor-id="the-bits-and-pieces"><span class="header-section-number">4</span> The bits and pieces</h2>
<section id="ageing" class="level3" data-number="4.1">
<h3 data-number="4.1" class="anchored" data-anchor-id="ageing"><span class="header-section-number">4.1</span> <a href="../notebook/ageing.html">Ageing</a></h3>
<p>The ageing notes got a proper overhaul, and the headline is not what the supplement crowd wants to hear: exercise beats everything else by a margin that makes the rest look like rounding error. There’s also a methodological problem Dan’s straightforward about — almost nobody in the literature can actually tell whether an intervention is slowing how fast you’re ageing or just giving you a one-off health boost, and the difference matters enormously for the maths. He’s settled on a concrete decision rule ($100 per expected day of healthy life; creatine retained on grounds of cheapness) and devoted a proper section to the vitalism movement — biohackers, Blueprint, Don’t Die — pegged fairly accurately as 21st-century vital-force mysticism with NAD+ precursors where élan vital used to be. The supercentenarian data is also a worry: most record-setting longevity claims cluster with missing birth certificates and pension fraud, not any actual biological signal.</p>
</section>
<section id="attention-deficit-hyperactivity-disorder" class="level3" data-number="4.2">
<h3 data-number="4.2" class="anchored" data-anchor-id="attention-deficit-hyperactivity-disorder"><span class="header-section-number">4.2</span> <a href="../notebook/adhd.html">Attention Deficit (Hyperactivity) Disorder</a></h3>
<p>The backdoor transhumanism observation is the one that stuck with me: the drugs used to treat ADHD are exactly the drugs people try as general cognitive enhancers, which means anyone who rejects ADHD medication on anti-medicalisation grounds but would accept a productivity nootropic has quietly done transhumanism through the back door without noticing. Dan’s also clear-eyed about the baseline — the comparison isn’t “medicated ADHD versus neurotypical” but “medicated versus unmedicated ADHD brain actually navigating traffic, relationships, and tax returns” — and the actuarial gap between those two is supposed to be something like thirteen years of life expectancy, although Dan is not buying it is <em>that</em> big. The section on tolerance is worth reading separately: the euphoria wears off, but the therapeutic effect mostly doesn’t, so the drugs aren’t that fun but they are useful, which I guess is why society lets people take them.</p>
</section>
<section id="editing-images-with-machine-learning" class="level3" data-number="4.3">
<h3 data-number="4.3" class="anchored" data-anchor-id="editing-images-with-machine-learning"><span class="header-section-number">4.3</span> <a href="../notebook/image_editing_ai.html">Editing images with machine learning</a></h3>
<p>New post, and handy. The ML image-editing landscape has settled enough to map: a handful of instruction-following editors you can give plain-English instructions to (FLUX.1 Kontext for open-weights, Gemini and GPT-Image-1 for hosted, Adobe Generative Fill for anyone already living in Photoshop), plus specialist tools still worth knowing for specific jobs — background removal, upscaling, face restoration. Dan’s separated this out from the generation notebook because the distinction between “edit what already exists” and “conjure from a prompt” has become meaningful enough to warrant its own page.</p>
</section>
<section id="editing-images-using-code" class="level3" data-number="4.4">
<h3 data-number="4.4" class="anchored" data-anchor-id="editing-images-using-code"><span class="header-section-number">4.4</span> <a href="../notebook/image_editing_programmatic.html">Editing images using code</a></h3>
<p>The programmatic editing notes got extended with a GIMP scripting reference — turns out GIMP can run headless from the command line, which is genuinely handy when you need to batch-process images without clicking through a GUI every time. Also added: OpenCV for classical computer-vision operations, and macOS’s built-in <code>sips</code> command for a quick format conversion without installing anything. Good reference page, more complete now.</p>
</section>
<section id="czechia" class="level3" data-number="4.5">
<h3 data-number="4.5" class="anchored" data-anchor-id="czechia"><span class="header-section-number">4.5</span> <a href="../notebook/czechia.html">Czechia</a></h3>
<p>Dan wrote up his mental map of Czech history before visiting Prague — everyone and everything he’d ever heard of, to see what he’d miss and which prejudices he’d reveal. Good yarn: the Hussites pulling off a proto-Protestant Reformation a century before Luther with better armies and early handguns; defenestration recurring as a constitutional mechanism across five separate centuries; Karel Čapek coining the word “robot” in a 1920 play; Mendel’s pea genetics established in a monastery vegetable garden, then debated for reliability ever since. There’s a language survival kit at the end, and the observation I didn’t know: Václav and Wenceslaus are the same name — the Latin form got preserved for kings while living Czechs kept the Slavic one.</p>
</section>
<section id="zürich" class="level3" data-number="4.6">
<h3 data-number="4.6" class="anchored" data-anchor-id="zürich"><span class="header-section-number">4.6</span> <a href="../notebook/zueri.html">Zürich</a></h3>
<p>Short placeholder for a city Dan lived in for a couple of years — an AI safety coworking space and GPS coordinates for outdoor workout stations so far. He says there’s more to say. I believe him.</p>
</section>
<section id="london" class="level3" data-number="4.7">
<h3 data-number="4.7" class="anchored" data-anchor-id="london"><span class="header-section-number">4.7</span> <a href="../notebook/london.html">London</a></h3>
<p>The new transport section is about bike infrastructure in central London, which Dan reckons turns out to be world-class — he wasn’t expecting that. The regional trains, though: at King’s Cross the platform isn’t announced until six minutes before departure, which rules out buying a sandwich and creates a mad sprint for seats; his theory that the trains are powered by quantum indeterminacy and need their wave-function collapsed before they can commit to a destination doesn’t explain why there’s no running water in the washrooms, but it’s the working hypothesis.</p>
</section>
<section id="incoming-links-and-notes" class="level3" data-number="4.8">
<h3 data-number="4.8" class="anchored" data-anchor-id="incoming-links-and-notes"><span class="header-section-number">4.8</span> <a href="../notebook/incoming.html">Incoming links and notes</a></h3>
<p>New links filed, nothing to flag — though the 19th-century mineralogy site he found looks like a proper rabbit hole.</p>


</section>
</section>

 ]]></description>
  <category>digest</category>
  <guid>https://danmackinlay.name/digest/2026-04-24.html</guid>
  <pubDate>Fri, 24 Apr 2026 15:49:57 GMT</pubDate>
  <media:content url="https://danmackinlay.name/generated_thumbnails/site_previews/images/vanmuydenlaboratory.thumbnail.avif" medium="image" type="image/avif"/>
</item>
<item>
  <title>2026-04-12: Machine curiosity, agent manipulation, Rust and search tools, bin the zinc spray</title>
  <link>https://danmackinlay.name/digest/2026-04-12.html</link>
  <description><![CDATA[ 







<div class="quarto-title-meta">

    
    </div>





<div id="fig-beach-gleaning" class="figure illustration right quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-beach-gleaning-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<a href="../images/beach_gleaning_RP-P-1902-A-22833.avif" class="lightbox" data-gallery="quarto-lightbox-gallery-1" title="Figure&nbsp;1: "><img src="https://danmackinlay.name/images/beach_gleaning_RP-P-1902-A-22833.avif" class="img-fluid figure-img"></a>
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig quarto-uncaptioned" id="fig-beach-gleaning-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;1
</figcaption>
</figure>
</div>
<section id="working-out-what-it-actually-wants" class="level2" data-number="1">
<h2 data-number="1" class="anchored" data-anchor-id="working-out-what-it-actually-wants"><span class="header-section-number">1</span> Working out what it actually wants</h2>
<section id="intrinsic-motivation" class="level3" data-number="1.1">
<h3 data-number="1.1" class="anchored" data-anchor-id="intrinsic-motivation"><span class="header-section-number">1.1</span> <a href="../notebook/intrinsic_motivation.html">Intrinsic motivation</a></h3>
<p>You can’t write a rulebook for everything you want a machine to do. So here’s the alternative: let it manufacture its own reasons to explore. Dan’s done a big survey of how researchers have tried to formalise this, and the main finding is that most of the theories boil down to the same handful of quantities — ways of measuring information — dressed up differently. The OG version is Schmidhuber’s from the 1990s, and it’s still the clearest: don’t just seek out what’s surprising, seek out what’s surprising <em>and learnable</em>. White noise is surprising but you can’t get better at predicting it, so it shouldn’t hold your attention; a good punchline or a clean proof works because something suddenly clicks, and that’s what he calls compression progress. What bugs Dan about all of it: none of these theories have anything to say about the physical cost of being curious. Real agents run on a budget. You can’t maximise learning progress when your battery’s flat, and nobody’s yet built a theory that accounts for that properly.</p>
</section>
<section id="valuereward-learning" class="level3" data-number="1.2">
<h3 data-number="1.2" class="anchored" data-anchor-id="valuereward-learning"><span class="header-section-number">1.2</span> <a href="../notebook/value_learning.html">Value/reward learning</a></h3>
<p>Here’s the puzzle: you watch something stumble around making choices, and you try to work out what it’s actually after. The awkward bit — economists have been arguing about this since the 1930s — is that heaps of different reward functions can explain the same observed behaviour. “Everything’s equally rewarding” always technically fits. The clever answer Dan’s laid out: the “assistance game” setup, where a robot trying to help a human whose goals it doesn’t fully know ends up with a genuine incentive to stay humble and ask rather than charge ahead. Barrel ahead with a confident-but-wrong guess and you make things worse. Caution falls out naturally from the maths — you don’t have to bolt it on as a special rule.</p>
</section>
<section id="what-even-is-agency" class="level3" data-number="1.3">
<h3 data-number="1.3" class="anchored" data-anchor-id="what-even-is-agency"><span class="header-section-number">1.3</span> <a href="../notebook/agency.html">What even is “agency”?</a></h3>
<p>No bullshit, this one is a list of edge cases designed to make you squirm. Cults, coercive control, addiction, attention hacking — situations where the line between “your choice” and “someone else’s choice delivered through you” gets genuinely blurry. Dan doesn’t have answers, which is at least honest. The question that connects straight to the value learning post above: if someone shaped your preferences first, is the resulting choice still yours? Barb will have an opinion.</p>
</section>
<section id="adaptive-design-of-experiments" class="level3" data-number="1.4">
<h3 data-number="1.4" class="anchored" data-anchor-id="adaptive-design-of-experiments"><span class="header-section-number">1.4</span> <a href="../notebook/design_of_experiments_adaptive.html">Adaptive design of experiments</a></h3>
<p>Bayesian optimisation — deciding which experiment to run next based on what you already know — turns out to be doing structurally the same job as the curious-machine ideas in the posts above, just in different notation. Both keep a running model of the world and ask “what’s most worth trying next?” Dan’s connected these up properly now, and noted the connection runs both ways: you can use reinforcement learning to <em>learn</em> the experimental design itself, so instead of a hand-crafted decision rule you’ve got a trained policy figuring out the next experiment. RL as the engine inside adaptive testing, not just an analogy for it.</p>
</section>
</section>
<section id="when-theres-more-than-one-of-them" class="level2" data-number="2">
<h2 data-number="2" class="anchored" data-anchor-id="when-theres-more-than-one-of-them"><span class="header-section-number">2</span> When there’s more than one of them</h2>
<section id="design-of-multi-agent-systems" class="level3" data-number="2.1">
<h3 data-number="2.1" class="anchored" data-anchor-id="design-of-multi-agent-systems"><span class="header-section-number">2.1</span> <a href="../notebook/multi_agent_systems.html">Design of multi-agent systems</a></h3>
<p>Major tidy-up of a hub page that was getting unwieldy. Most of the detailed material has spun out to specialist pages — opponent shaping, value learning, tooling — and the hub now links them up properly. Worth a visit if you want to understand how the pieces fit together; it’s become a map rather than a pile of notes.</p>
</section>
<section id="multi-agent-rl-tooling" class="level3" data-number="2.2">
<h3 data-number="2.2" class="anchored" data-anchor-id="multi-agent-rl-tooling"><span class="header-section-number">2.2</span> <a href="../notebook/marl_tooling.html">Multi-agent RL tooling</a></h3>
<p>New post cataloguing the test environments where multi-agent researchers put their systems through their paces. The one worth noting is DeepMind’s Melting Pot suite: it designs scenarios where the selfish choice hurts everyone and cooperation requires trust, then tests whether agents can manage it with strangers they’ve never trained alongside. That’s a harder test than cooperating with familiar partners, and probably more relevant to anything real. If your system can only play nice with familiar faces, it’s not much use.</p>
</section>
<section id="learning-with-theory-of-mind" class="level3" data-number="2.3">
<h3 data-number="2.3" class="anchored" data-anchor-id="learning-with-theory-of-mind"><span class="header-section-number">2.3</span> <a href="../notebook/learning_with_theory_of_mind.html">Learning with theory of mind</a></h3>
<p>Here’s the bit that made me put my cuppa down. There’s a proper difference between modelling what another agent <em>believes</em> and modelling how it <em>learns</em> — and the gap between those two is where it gets interesting. If you have a model of how your opponent’s learning rule works, you can pick actions specifically chosen to produce the updates you want in them. That’s not competition and not cooperation — it’s manipulation, written down as maths. The cooperative version is the <a href="../notebook/value_learning.html">assistance game</a> from the cluster above: same structure, but you’re steering the other agent’s learning helpfully rather than redirecting it for your own ends. Dan’s also drawn a clear line around what Facebook’s poker-playing AI actually does — it models your <em>beliefs</em>, not your <em>learning rule</em> — and it turns out that gap matters.</p>
</section>
<section id="differentiable-learning-of-collective-automata" class="level3" data-number="2.4">
<h3 data-number="2.4" class="anchored" data-anchor-id="differentiable-learning-of-collective-automata"><span class="header-section-number">2.4</span> <a href="../notebook/nn_swarm_automata.html">Differentiable learning of collective automata</a></h3>
<p>Small update, adding incoming reading links. The main idea — train a thousand simple agents with local rules, get global patterns nobody explicitly designed — now connects explicitly to a differentiable version of Conway’s Game of Life, which gives you genuine Turing completeness from simple local gradients. Nobody planned Conway’s output either. That’s the point.</p>
</section>
</section>
<section id="under-the-bonnet" class="level2" data-number="3">
<h2 data-number="3" class="anchored" data-anchor-id="under-the-bonnet"><span class="header-section-number">3</span> Under the bonnet</h2>
<section id="rust" class="level3" data-number="3.1">
<h3 data-number="3.1" class="anchored" data-anchor-id="rust"><span class="header-section-number">3.1</span> <a href="../notebook/rust.html">Rust</a></h3>
<p>Rust is a programming language spreading through the industry because it physically won’t let you make certain classes of mistakes that blow up C programs — it enforces memory safety before the thing even runs. The pattern Dan’s documented: someone rewrites the slow hot path of a Python tool in Rust, wraps it in Python bindings, and everyone gets 10–100× speedups without changing their code. uv, Ruff, Polars, Pydantic’s core — the standard Python tooling is quietly swapping its internals for Rust and most users just notice things run faster. There’s also a whole cottage industry rewriting standard command-line tools with colour output and sensible defaults, which sounds minor until the day you use ripgrep instead of grep and don’t go back.</p>
</section>
<section id="hosted-functions-serverless" class="level3" data-number="3.2">
<h3 data-number="3.2" class="anchored" data-anchor-id="hosted-functions-serverless"><span class="header-section-number">3.2</span> <a href="../notebook/serverless.html">Hosted Functions / Serverless</a></h3>
<p>You know how you used to have to rent a whole server, install an operating system, configure everything, and pay for it round the clock whether anyone was using it? Serverless answers that: you hand the platform a function, it runs when something triggers it, and you pay per run. The trade-off is a “cold start” — if your function hasn’t run in a while it needs a moment to wake up, like a car on a frosty morning. Good for bursty stuff: webhooks, background jobs, AI inference you don’t need constantly. The RunPod option is specifically for GPU compute — pay per job for big AI workloads instead of renting the hardware all month and watching it sit idle.</p>
</section>
<section id="comfy-arch-linux" class="level3" data-number="3.3">
<h3 data-number="3.3" class="anchored" data-anchor-id="comfy-arch-linux"><span class="header-section-number">3.3</span> <a href="../notebook/comfy_arch.html">Comfy Arch Linux</a></h3>
<p>Linux distro navel-gazing, but the useful kind. Arch gives you software the day it ships but things break more often; Manjaro stages the updates so it’s smoother but you’re a week or two behind; CachyOS is Arch but tuned for speed on modern chips; Ubuntu is stable but you spend half your time chasing recent software through three different package formats. Dan’s honest about still deciding. If you’ve ever wondered what all the Linux tribalism is actually about, this one explains it without the usual condescension.</p>
</section>
<section id="ai-search" class="level3" data-number="3.4">
<h3 data-number="3.4" class="anchored" data-anchor-id="ai-search"><span class="header-section-number">3.4</span> <a href="../notebook/ai_search.html">AI search</a></h3>
<p>Two problems that sound the same but need different tools. “What posts are related to this one?” is whole-document similarity — embed each post as a bunch of numbers representing its meaning, find the closest ones. “Where did I write about topic X?” is retrieval — you need to search at paragraph level, inside documents. The 1990s BM25 keyword method is still hard to beat for exact phrases but falls flat for meaning (“particle filter” and “sequential Monte Carlo” mean the same thing, BM25 doesn’t know that). Neural embeddings handle the meaning side. The practical upshot: you can now connect the whole thing to Claude and ask natural-language questions about your own notes — which is the point where it stops being a curiosity and starts being genuinely handy. Natural companion to the <a href="../notebook/database_vector.html">vector databases</a> post below.</p>
</section>
<section id="vector-databases" class="level3" data-number="3.5">
<h3 data-number="3.5" class="anchored" data-anchor-id="vector-databases"><span class="header-section-number">3.5</span> <a href="../notebook/database_vector.html">Vector databases</a></h3>
<p>When do you actually need one? At Dan’s blog scale — around two thousand documents — you use a plain table of numbers and brute-force the search in milliseconds. At a hundred thousand vectors you might start sweating; at a million you’ll crash your laptop if you’re naïve about it. The fix is approximate nearest neighbour search: accept results that are very likely to be the right ones, not guaranteed, and get orders of magnitude faster in return. Dan’s now done a proper survey of what’s out there — embedded options that run as a library with no server to babysit (ChromaDB, LanceDB, Spotify’s Voyager) through to managed cloud services (Pinecone, Qdrant, Weaviate). Start with the simple option and only reach for heavier gear when you actually need it. See <a href="../notebook/ai_search.html">AI search</a> for the worked examples.</p>
</section>
</section>
<section id="the-stuff-beyond-the-code" class="level2" data-number="4">
<h2 data-number="4" class="anchored" data-anchor-id="the-stuff-beyond-the-code"><span class="header-section-number">4</span> The stuff beyond the code</h2>
<section id="upper-respiratory-tract-infections" class="level3" data-number="4.1">
<h3 data-number="4.1" class="anchored" data-anchor-id="upper-respiratory-tract-infections"><span class="header-section-number">4.1</span> <a href="../notebook/respiratory_viruses.html">Upper respiratory tract infections</a></h3>
<p>Bin the zinc nasal spray. No, seriously — the FDA pulled it from the US market in 2009 because people were losing their sense of smell permanently. Not temporarily. Permanently. Case reports describe burning on application followed by immediate, irreversible loss of olfactory function, and the benefit was marginal to begin with. Chuck it out. Dan’s done a proper evidence-based roundup of the alternatives: carrageenan (a physical barrier from red seaweed, decent clinical trials, modestly shortens cold duration, available in Australia as Flo Travel — this one’s credible), nitric oxide spray (promising trials but the big efficacy study got discontinued), povidone-iodine (mixed Phase III results, TGA knocked it back in Australia), hypochlorous acid (early stage but biologically plausible). Read the ingredient, not the brand name.</p>
</section>
<section id="demographics-natalism-and-fertility" class="level3" data-number="4.2">
<h3 data-number="4.2" class="anchored" data-anchor-id="demographics-natalism-and-fertility"><span class="header-section-number">4.2</span> <a href="../notebook/natalism.html">Demographics, natalism and fertility</a></h3>
<p>New sections on the ethics of people who don’t exist yet, which gets properly mind-bending if you follow it far enough. Parfit’s Repugnant Conclusion is in here: the utilitarian logic says a world with billions of people living barely-worth-it lives might score mathematically better than a smaller world of flourishing ones. Even the philosopher who proved it found that hard to swallow, which is presumably why he named it the Repugnant Conclusion. Dan’s also flagging the transformation problem: having children makes you a genuinely different person, so how do you make that choice when you can’t know who you’ll be on the other side of it? Good questions, not many answers.</p>
</section>
<section id="improving-peer-review" class="level3" data-number="4.3">
<h3 data-number="4.3" class="anchored" data-anchor-id="improving-peer-review"><span class="header-section-number">4.3</span> <a href="../notebook/science_peer_review.html">Improving peer review</a></h3>
<p>The two new sections are the ones that matter. One: AI as a triage tool for reviewers — useful as a first pass, dangerous if mistaken for automatic judgement, because false positives are expected. Two: actual fraud in the review system. Ninety-four fake reviewer profiles found on OpenReview alone. Review rings where authors quietly agree to score each other’s work favourably. That’s not “the system is slow” — that’s “the system meant to verify scientific results is being actively gamed.” The rename from “LLM-Assisted” to “AI-Assisted Review” is the least interesting thing on this page.</p>
</section>
<section id="now" class="level3" data-number="4.4">
<h3 data-number="4.4" class="anchored" data-anchor-id="now"><span class="header-section-number">4.4</span> <a href="../now.html">Now</a></h3>
<p>Dan’s changed jobs, the restless bugger. He’s signed on with ACS Research working on their Gradual Disempowerment team — that’s studying how AI might slowly take the steering wheel without anyone noticing the exact moment it happened. He’ll be in the UK and Central Europe in April 2026 for it, if you’re that side of the world. On top of that, he’s trying to decide between three side projects: a hyper-local neighbourhood social platform (ethical Facebook for your street), an Australian sovereign LLM, or a neo-friendly society — mutual insurance, the old-fashioned kind where members look after each other. More irons in the fire than a bush blacksmith.</p>
</section>
</section>
<section id="minor-tweaks" class="level2" data-number="5">
<h2 data-number="5" class="anchored" data-anchor-id="minor-tweaks"><span class="header-section-number">5</span> Minor tweaks</h2>
<p>Six pages got a quick tidy — <a href="../notebook/empowerment.html">Empowerment</a>, <a href="../notebook/incoming.html">Incoming</a>, <a href="../notebook/diy_socials.html">DIY social networks</a>, <a href="../notebook/web_api_automation.html">Web API automation</a>, <a href="../notebook/games.html">Games</a>, and <a href="../notebook/causal_inference.html">Causal inference on DAGs</a>. Nothing worth stopping the presses for.</p>


</section>

 ]]></description>
  <category>digest</category>
  <guid>https://danmackinlay.name/digest/2026-04-12.html</guid>
  <pubDate>Sun, 12 Apr 2026 12:31:24 GMT</pubDate>
  <media:content url="https://danmackinlay.name/generated_thumbnails/site_previews/images/beach_gleaning_RP-P-1902-A-22833.thumbnail.avif" medium="image" type="image/avif"/>
</item>
<item>
  <title>2026-04-03: AI doom formula, neighbourhood internet, community legal structures, new job</title>
  <link>https://danmackinlay.name/digest/2026-04-03.html</link>
  <description><![CDATA[ 







<div class="quarto-title-meta">

    
    </div>





<div id="fig-bantem-market" class="figure illustration full quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-bantem-market-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<a href="../images/Bantem_market_BI-1972-1043-8.avif" class="lightbox" data-gallery="quarto-lightbox-gallery-1" title="Figure&nbsp;1: "><img src="https://danmackinlay.name/images/Bantem_market_BI-1972-1043-8.avif" class="img-fluid figure-img"></a>
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig quarto-uncaptioned" id="fig-bantem-market-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;1
</figcaption>
</figure>
</div>
<section id="working-out-the-odds-on-ai-doom" class="level2" data-number="1">
<h2 data-number="1" class="anchored" data-anchor-id="working-out-the-odds-on-ai-doom"><span class="header-section-number">1</span> Working out the odds on AI doom</h2>
<section id="quis-computat" class="level3" data-number="1.1">
<h3 data-number="1.1" class="anchored" data-anchor-id="quis-computat"><span class="header-section-number">1.1</span> <a href="../notebook/who_computes.html">Quis computat?</a></h3>
<p>Here’s the kicker: Dan’s actually tried to write the formula for whether AI kills us. Not a vibe — a proper formula. He frames it as a race: doom fires first, or an alignment breakthrough fires first, and whoever arrives first wins. You can calculate the odds using survival analysis, the same maths you’d use to work out when machines fail. The nasty insight is what happens if safety research also advances capabilities — because you need powerful AI to do AI safety research in the first place. In that case every dollar you put into alignment also feeds doom, and no matter how much you spend, the conditional probability of catastrophe doesn’t shift.</p>
</section>
<section id="history-based-reinforcement-learning" class="level3" data-number="1.2">
<h3 data-number="1.2" class="anchored" data-anchor-id="history-based-reinforcement-learning"><span class="header-section-number">1.2</span> <a href="../notebook/reinforcement_learning_history_based.html">History-Based Reinforcement Learning</a></h3>
<p>New stub on history-based reinforcement learning. Normal RL trains computers that only know what’s happening right now — like a goldfish with a reward signal. This variant lets the machine remember everything that came before, which sounds bloody obvious when you say it out loud but turns out to be hard to make work properly. Placeholder for now; Dan says computable versions exist and he’ll come back to it.</p>
</section>
<section id="catastrophic-risk" class="level3" data-number="1.3">
<h3 data-number="1.3" class="anchored" data-anchor-id="catastrophic-risk"><span class="header-section-number">1.3</span> <a href="../notebook/catastrophic_risk.html">Catastrophic risk</a></h3>
<p>The doom-and-gloom notes got a new ethics section. Turns out even the people who lie awake worrying about existential risk can’t agree on whether saving the whole world should beat everything else on the list. Dan’s now pointed to both sides of that argument, which is either reassuring or deeply worrying depending on your disposition.</p>
</section>
<section id="now" class="level3" data-number="1.4">
<h3 data-number="1.4" class="anchored" data-anchor-id="now"><span class="header-section-number">1.4</span> <a href="../now.html">Now</a></h3>
<p>Dan’s changed jobs, the restless bugger. He’s signed on with ACS Research to study how AI might slowly take the steering wheel without anyone noticing the exact moment it happened — they call it gradual disempowerment, which sounds almost polite until you think about it. Also stuck in Europe for all of April because the Iran conflict has mucked up his travel, apparently on the lookout for a spare sofa in the Netherlands, Switzerland, Czechia or Germany.</p>
</section>
</section>
<section id="your-street-sorted" class="level2" data-number="2">
<h2 data-number="2" class="anchored" data-anchor-id="your-street-sorted"><span class="header-section-number">2</span> Your street, sorted</h2>
<section id="a-social-platform-for-your-neighbourhood" class="level3" data-number="2.1">
<h3 data-number="2.1" class="anchored" data-anchor-id="a-social-platform-for-your-neighbourhood"><span class="header-section-number">2.1</span> <a href="../notebook/local_social_platforms.html">A social platform for your neighbourhood</a></h3>
<p>New post, and probably the most tangible thing Dan’s written in a while. What if your suburb had its own noticeboard — real listings from people who actually live nearby, an events calendar nobody’s monetising, a skills directory for who has a ute and will help you move for a slab? The technology for this is basically solved; the hard part is the cold start. A platform’s useless until enough people are on it, and getting there requires a small group of stubborn people who commit to using it before it feels worth the bother. Dan’s pitch: start with something that scratches a concrete itch — Facebook Marketplace is notoriously crook, and a neighbourhood version that verifies residents would be immediately better — and let the community pull it from there.</p>
</section>
<section id="local-social-platforms-a-technical-implementation-guide" class="level3" data-number="2.2">
<h3 data-number="2.2" class="anchored" data-anchor-id="local-social-platforms-a-technical-implementation-guide"><span class="header-section-number">2.2</span> <a href="../notebook/local_social_platform_technical.html">Local social platforms: a technical implementation guide</a></h3>
<p>The practical companion to the neighbourhood platform post above — how you’d actually build and run the thing. Two paths: a cheap cloud VPS (about fourteen dollars a month, a Saturday afternoon to stand up) or a couple of second-hand ThinkPads in someone’s closet for full data sovereignty. The charming bit is the identity verification idea: mail people a postcard with a code to prove they actually live in the postcode. Low-tech, high-trust, and apparently a real option. The whole stack runs in containers from day one, so migrating from cloud to closet later is just an afternoon of planned downtime.</p>
</section>
<section id="internet-for-the-occasionally-online" class="level3" data-number="2.3">
<h3 data-number="2.3" class="anchored" data-anchor-id="internet-for-the-occasionally-online"><span class="header-section-number">2.3</span> <a href="../notebook/offline_internet.html">Internet for the occasionally online</a></h3>
<p>The offline internet notes picked up a section on Project NOMAD — a self-contained survival computer with Wikipedia, manuals and AI baked in for when the network goes away entirely. Kiwix for grabbing Wikipedia offline has been in these notes for a while; NOMAD takes it further and adds AI inference you can run without any internet at all. Fits neatly with the own-your-infrastructure theme running hard through everything this fortnight.</p>
</section>
<section id="virtual-private-mesh-networks" class="level3" data-number="2.4">
<h3 data-number="2.4" class="anchored" data-anchor-id="virtual-private-mesh-networks"><span class="header-section-number">2.4</span> <a href="../notebook/virtual_meshnets.html">Virtual private mesh networks</a></h3>
<p>Pangolin got added to the meshnet notes — another tool for connecting your devices securely without routing traffic through a big provider who can watch what’s talking to what. Closer to a secure access VPN than a full meshnet, but it slots into the same drawer: tools for building infrastructure you actually control.</p>
</section>
</section>
<section id="making-it-official-legal-bones-for-community-projects" class="level2" data-number="3">
<h2 data-number="3" class="anchored" data-anchor-id="making-it-official-legal-bones-for-community-projects"><span class="header-section-number">3</span> Making it official: legal bones for community projects</h2>
<section id="community-sovereign-ai-compute" class="level3" data-number="3.1">
<h3 data-number="3.1" class="anchored" data-anchor-id="community-sovereign-ai-compute"><span class="header-section-number">3.1</span> <a href="../notebook/aus_sovereign_llm.html">Community sovereign AI compute</a></h3>
<p>The sovereign compute post got a serious update, and it’s darker than it was. Dan’s added a whole section on current events: the Pentagon demanded Anthropic give the military unrestricted access to Claude, Anthropic refused, and the Trump administration labelled them a national security risk and cancelled their contract. Iranian forces hit Amazon data centres in the UAE because those data centres were supporting US military AI operations. Australia’s international internet runs through about eighteen submarine cables that are increasingly getting sabotaged. The post has shifted from interesting long-term hedge to this scenario is playing out right now, and hardware is easier to buy before the supply chain gets interesting.</p>
</section>
<section id="sovereign-compute-for-small-collectives-a-technical-implementation-guide" class="level3" data-number="3.2">
<h3 data-number="3.2" class="anchored" data-anchor-id="sovereign-compute-for-small-collectives-a-technical-implementation-guide"><span class="header-section-number">3.2</span> <a href="../notebook/aus_sovereign_llm_technical.html">Sovereign compute for small collectives: a technical implementation guide</a></h3>
<p>The technical companion got a proper legal structure section to match what the friendly society technical post has been carrying. Co-op versus incorporated association versus company limited by guarantee — for a group of fifty in one city, the call is to start as an incorporated association (about $500 to set up, $57 a year to maintain), then convert to a co-op under the Co-operatives National Law if the thing takes off. Either way: get a solicitor to look at the rules before you commit $160,000 to a hardware purchase. Budget two to five grand for that advice. Cheap insurance on a six-figure asset.</p>
</section>
<section id="grass-roots-friendly-societies-could-provide-cooperative-insurance-against-dark-times" class="level3" data-number="3.3">
<h3 data-number="3.3" class="anchored" data-anchor-id="grass-roots-friendly-societies-could-provide-cooperative-insurance-against-dark-times"><span class="header-section-number">3.3</span> <a href="../notebook/neo_friendly_societies.html">Grass-roots friendly societies could provide cooperative insurance against dark times</a></h3>
<p>The friendly society post got a serious rewrite of its front section. Dan’s much more explicit now about why you’d bother in 2026: the polycrisis, state capacity lagging behind compound crises, governments that are reactive rather than anticipatory. New sections argue out why doing this as a group beats doing it alone — economies of scale, collective bargaining, social capital as a real asset, and the fact it’s harder to raid a shared fund than your own savings. The core idea’s unchanged (small group, counter-cyclical ETFs, mutual aid when things go sideways), but the case is properly made now rather than assumed.</p>
</section>
<section id="hacking-financial-regulation-for-community-mutual-aid" class="level3" data-number="3.4">
<h3 data-number="3.4" class="anchored" data-anchor-id="hacking-financial-regulation-for-community-mutual-aid"><span class="header-section-number">3.4</span> <a href="../notebook/neo_friendly_societies_technical.html">Hacking financial regulation for community mutual aid</a></h3>
<p>Funny thing is, the friendly society legal post and the sovereign compute legal post now read as a proper matched pair — the same three-way legal comparison (co-op, incorporated association, company limited by guarantee) runs through both, with the same recommendation to start small and convert up if the project takes off. Most of the edits here are wording tidies, but the shift from ‘you’ to ‘we’ throughout a document about community ownership is quietly the right call.</p>
</section>
</section>
<section id="workshop-bench" class="level2" data-number="4">
<h2 data-number="4" class="anchored" data-anchor-id="workshop-bench"><span class="header-section-number">4</span> Workshop bench</h2>
<section id="zotero" class="level3" data-number="4.1">
<h3 data-number="4.1" class="anchored" data-anchor-id="zotero"><span class="header-section-number">4.1</span> <a href="../notebook/zotero.html">Zotero</a></h3>
<p>Zotero can now talk to Claude directly. Install an MCP server, point it at the local Zotero app, and Claude can search your library, add papers by DOI, pull annotations out of PDFs — just by asking in plain English. ‘Find everything I’ve tagged kernel methods and export the BibTeX’ is a real thing you can now do mid-conversation. There’s also a new section on the translation server, which takes a DOI and spits back structured citation data without any clicking — handy if you’ve got a hundred references to process at once. The useful bit: it all runs locally, so your reading list isn’t going anywhere near a commercial API.</p>
</section>
<section id="docker-containerized-apps-for-scientists" class="level3" data-number="4.2">
<h3 data-number="4.2" class="anchored" data-anchor-id="docker-containerized-apps-for-scientists"><span class="header-section-number">4.2</span> <a href="../notebook/docker.html">Docker containerized apps (for scientists)</a></h3>
<p>Docker Desktop on a Mac’s been a resource pig for yonks — fan going like a turbine, battery flat by smoko, gigabytes of RAM just sitting there looking important. OrbStack’s now the recommended drop-in replacement: lightweight, doesn’t run like it’s mining bitcoin in the background. The GPU section is still honestly described as messy territory, which at least saves you the trouble of finding out the hard way.</p>
</section>
<section id="graphic-design-for-the-vexed" class="level3" data-number="4.3">
<h3 data-number="4.3" class="anchored" data-anchor-id="graphic-design-for-the-vexed"><span class="header-section-number">4.3</span> <a href="../notebook/graphic_design.html">Graphic design for the vexed</a></h3>
<p>Small additions: a generative section pointing toward the AI diffusion art notes, and a logos-and-icons section with a couple of tools for quick logo generation. The notes catching up with how people actually make graphics in 2026.</p>
</section>
<section id="london" class="level3" data-number="4.4">
<h3 data-number="4.4" class="anchored" data-anchor-id="london"><span class="header-section-number">4.4</span> <a href="../notebook/london.html">London</a></h3>
<p>London’s governance section got a heading trim, but the substance is still there and still genuinely cooked. The City of London employs a senior official created in 1571 whose job includes sitting in Parliament’s gallery watching for legislation that might touch the City’s interests — the City Remembrancer, still active, still doing exactly that. Good companion reading to all the community governance stuff running through the rest of this fortnight, if you’re in the mood to feel better about how Dan’s proposals are going.</p>
</section>
<section id="incoming-links-and-notes" class="level3" data-number="4.5">
<h3 data-number="4.5" class="anchored" data-anchor-id="incoming-links-and-notes"><span class="header-section-number">4.5</span> <a href="../notebook/incoming.html">Incoming links and notes</a></h3>
<p>New links dropped in: train delay betting markets, Japanese wolves, something about Zen fascism, disinformation moving into private channels. The usual organised chaos.</p>
</section>
</section>
<section id="minor-tweaks" class="level2" data-number="5">
<h2 data-number="5" class="anchored" data-anchor-id="minor-tweaks"><span class="header-section-number">5</span> Minor tweaks</h2>
<p>Also had a light once-over on Linux distros as bikes, natalism and fertility, Quarto, computer games, denoising diffusion maths, public sphere business models, and UI design — seven posts, couldn’t tell you what changed, the lad just can’t leave things alone.</p>
<ul>
<li><a href="../notebook/linux_distros_as_bikes.html">Unix/linux distros explained as bikes</a></li>
<li><a href="../notebook/natalism.html">Demographics, natalism and fertility</a></li>
<li><a href="../notebook/quarto.html">Quarto</a></li>
<li><a href="../notebook/games.html">Games, computer, recreational</a></li>
<li><a href="../notebook/denoising_diffusion.html">The denoising diffusion SDE</a></li>
<li><a href="../notebook/public_sphere_business_models.html">The public sphere and its business models</a></li>
<li><a href="../notebook/uis.html">User interface design</a></li>
</ul>


</section>

 ]]></description>
  <category>digest</category>
  <guid>https://danmackinlay.name/digest/2026-04-03.html</guid>
  <pubDate>Fri, 03 Apr 2026 06:15:19 GMT</pubDate>
  <media:content url="https://danmackinlay.name/generated_thumbnails/site_previews/images/Bantem_market_BI-1972-1043-8.thumbnail.avif" medium="image" type="image/avif"/>
</item>
<item>
  <title>2026-03-22: sovereign compute, community AI, tech governance, quantum odds, offline archives</title>
  <link>https://danmackinlay.name/digest/2026-03-22.html</link>
  <description><![CDATA[ 







<div class="quarto-title-meta">

    
    </div>





<div id="fig-colossal-elephant-section" class="figure illustration right quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-colossal-elephant-section-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<a href="../images/colossal_elephant_section.avif" class="lightbox" data-gallery="quarto-lightbox-gallery-1" title="Figure&nbsp;1: "><img src="https://danmackinlay.name/images/colossal_elephant_section.avif" class="img-fluid figure-img"></a>
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig quarto-uncaptioned" id="fig-colossal-elephant-section-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;1
</figcaption>
</figure>
</div>
<section id="newly-published" class="level2" data-number="1">
<h2 data-number="1" class="anchored" data-anchor-id="newly-published"><span class="header-section-number">1</span> Newly published</h2>
<section id="sovereign-compute-for-small-collectives-a-technical-implementation-guide" class="level3" data-number="1.1">
<h3 data-number="1.1" class="anchored" data-anchor-id="sovereign-compute-for-small-collectives-a-technical-implementation-guide"><span class="header-section-number">1.1</span> <a href="../notebook/aus_sovereign_llm_technical.html">Sovereign compute for small collectives: a technical implementation guide</a></h3>
<p>Dan’s basically written a shopping-and-wiring guide for a little mob who want their own AI box at home, instead of paying some overseas cloud outfit per question. He gets real specific: a DGX Station that pulls 1600W like a space heater, about $350 a month in power if you run it flat out, plus the sort of Aussie prices and who you’d buy it from. The useful bit is where he explains why you can’t just “run it full quality” — you squash the model down (quantise it) so there’s enough fast memory left for the chat history, which is what decides how many people can use it at once without it turning to sludge. He even maps out a sensible ‘try before you buy’ run on rented H100s, so you don’t drop $150k and then find out your setup’s a dud. And yep, he also talks about stripping the built-in Chinese-government refusals off some open models — because if you’re forking out that kind of money, you probably want to decide what it will and won’t answer.</p>
</section>
<section id="community-sovereign-ai-compute" class="level3" data-number="1.2">
<h3 data-number="1.2" class="anchored" data-anchor-id="community-sovereign-ai-compute"><span class="header-section-number">1.2</span> <a href="../notebook/aus_sovereign_llm.html">Community sovereign AI compute</a></h3>
<p>Imagine your local mob chipping in for one proper AI box under a desk, so you’re not begging Silicon Valley or China every time you want the computer to help you write, code, or sort paperwork. Dan’s talking through what that looks like for 25–50 people: the sort of machine you’d buy (a DGX Station), what it costs to buy and run, and whether it stacks up against paying per-use for ChatGPT and the like. The bit that’ll make you sit up is the risk stuff — prices change, rules change, links go down, and suddenly your “rented brain” is gone, so owning the gear is a hedge. He also gets into the awkward part: the best open models are often Chinese and come with censorship baked in, but there are practical ways to scrub that off if you’ve got the stomach for it. Bottom line: it’s a plan for keeping AI useful and available to your group even when the big players or the pollies start mucking around.</p>
</section>
<section id="delegated-agent-governance" class="level3" data-number="1.3">
<h3 data-number="1.3" class="anchored" data-anchor-id="delegated-agent-governance"><span class="header-section-number">1.3</span> <a href="../notebook/delegated_agent_governance.html">Delegated agent governance</a></h3>
<p>Picture this: instead of you trying to keep up with every bill, rule, and contract, you’ve got a little AI advocate that goes out and haggles on your behalf, using all the scattered info in the system like Hayek banged on about. Dan’s mainly chewing over this “Coasean Singularity” idea — that if haggling gets good enough at scale, it starts looking a lot like big-group agreement, and markets and politics blur together. Then he wanders into the “meaning economy” and “thick value” stuff, which is basically saying price alone is a skinny signal, and you’d want these agents chasing what people actually care about, not just what’s easy to count. Worth a look if you’ve ever thought democracy feels clunky and the market feels cruel — because this is a vision where the whole lot gets rewired, for better or worse.</p>
</section>
</section>
<section id="updated" class="level2" data-number="2">
<h2 data-number="2" class="anchored" data-anchor-id="updated"><span class="header-section-number">2</span> Updated</h2>
<section id="taking-my-email-archive-offline" class="level3" data-number="2.1">
<h3 data-number="2.1" class="anchored" data-anchor-id="taking-my-email-archive-offline"><span class="header-section-number">2.1</span> <a href="../notebook/email_offline.html">Taking my email archive offline</a></h3>
<p>Email’s a bit like leaving your whole filing cabinet at the post office. Dan’s figured a way to keep the mail mob for sending and the “new stuff” inbox, but drag your real 20GB back home onto an encrypted disk, then delete the old bits off the server once you’re sure you’ve got them. Your laptop just pulls new mail down on a timer, and your other machine copies the same mail folder across (so both stay the same without mucking about). You still can’t hide who you’re talking to, but a provider hack or a quiet govt grab doesn’t hand over your whole life story in one hit.</p>
</section>
<section id="improving-peer-review" class="level3" data-number="2.2">
<h3 data-number="2.2" class="anchored" data-anchor-id="improving-peer-review"><span class="header-section-number">2.2</span> <a href="../notebook/science_peer_review.html">Improving peer review</a></h3>
<p>Peer review’s meant to catch dodgy stuff, but a lot of it turns into a tired bunfight behind closed doors. Dan’s keen on the newer mob who flip it around: show the write-up first, then do the reviews out in the open, or give a public scorecard without a simple yes/no gate. The clever bit he’s chewing on is using an AI as a strict, fixed-turn umpire when reviewers and authors are deadlocked — same rules each time, authors get the last say, and the whole chat’s kept so you can check it later. If it works, it’s less about who’s got mates on the panel and more about nailing down the exact claim that’s in doubt.</p>
</section>
<section id="terminals" class="level3" data-number="2.3">
<h3 data-number="2.3" class="anchored" data-anchor-id="terminals"><span class="header-section-number">2.3</span> <a href="../notebook/terminals.html">Terminals</a></h3>
<p>You know what’s sneakily clever? Dan’s on about getting pictures and charts to show up inside a plain old terminal window, not just walls of text. There’s no one clean standard for it — Sixels is the sorta-half-baked default — so tools like Chafa do the hard yakka of turning an image into whatever weird format your terminal can actually handle. He also reckons some terminals are getting a bit too “smart” for their own good, like iTerm2 letting you script the thing with Python — handy, but it’s the sort of feature that can bite if it opens doors you didn’t mean to. And he’s had a proper whinge about the VS Code terminal being convenient but flaky, which’ll ring true for anyone who’s lost time to random breakage.</p>
</section>
<section id="who-wants-to-insure-against-state-decay-using-a-friendly-society" class="level3" data-number="2.4">
<h3 data-number="2.4" class="anchored" data-anchor-id="who-wants-to-insure-against-state-decay-using-a-friendly-society"><span class="header-section-number">2.4</span> <a href="../notebook/neo_friendly_societies.html">Who wants to insure against state decay using a friendly society?</a></h3>
<p>Here’s the clever bit: he’s saying don’t wait till the government’s run ragged, set up your own little mutual-aid mob while there’s still a bit of fat in the system. Everyone chips in, the pot gets parked in boring old ETFs and a few “things-go-bad” bets, and when someone gets crook or out of work the group’s got real money and a bit of bargaining power. The AI angle isn’t robots running your life — it’s using cheap tools to do the nasty admin and rules stuff that normally makes this impossible unless you’re a bank. He’s also honest that this won’t save people who are already broke; it’s more like “UBI-lite” for people with some spare cash, and that’s still worth doing if it stops folks sliding under.</p>
</section>
<section id="melbourne-naarm" class="level3" data-number="2.5">
<h3 data-number="2.5" class="anchored" data-anchor-id="melbourne-naarm"><span class="header-section-number">2.5</span> <a href="../notebook/melbourne.html">Melbourne / Naarm</a></h3>
<p>Dan’s Melbourne notes have a neat rule: use the right name for the right crowd—Melbourne, Naarm, even “New Gold Mountain”—and don’t get stuck in name-fights. Then he swings from “watch your skin for Buruli” to “join the YIMBY mob for the missing-middle” and, get this, you can email a bloody tree.</p>
</section>
<section id="science-fiction" class="level3" data-number="2.6">
<h3 data-number="2.6" class="anchored" data-anchor-id="science-fiction"><span class="header-section-number">2.6</span> <a href="../notebook/science_fiction.html">Science Fiction</a></h3>
<p>Dan’s doing sci‑fi like a proper filter, not a random list: he’s hunting stories where the “AI mate” is sort‑of on your side but still makes a mess, and where people get slowly sidelined without noticing. Then he’s chucked in a stack of picks (from Wall‑E to old German sims) so you can spot the same trick in different costumes.</p>
</section>
<section id="categorical-systems-theory" class="level3" data-number="2.7">
<h3 data-number="2.7" class="anchored" data-anchor-id="categorical-systems-theory"><span class="header-section-number">2.7</span> <a href="../notebook/categorical_systems_theory.html">Categorical systems theory</a></h3>
<p>Here’s the neat trick: instead of drowning in algebra, Dan’s using “string diagrams” — basically plumbing sketches — to do the sums on Bayesian networks. You treat each little bit of a system by what goes in and what comes out, then you just wire the bits together and the maths follows the wiring. That can make big tangly models feel more like tracing hoses than doing a page of scribbles. He’s also poking at a good question: are his “patchers” really the same beast as these string diagrams, or is he stretching it. And if you want to play along, he points at a Python tool (DisCoPy) and a drawing gadget (TikZiT) so you’re not doing it all by hand like a mug.</p>
</section>
</section>
<section id="minor-tweaks" class="level2" data-number="3">
<h2 data-number="3" class="anchored" data-anchor-id="minor-tweaks"><span class="header-section-number">3</span> Minor tweaks</h2>
<ul>
<li><a href="../notebook/incoming.html">Incoming links and notes</a></li>
<li><a href="../notebook/australian_authoritarianism.html">Australian authoritarianism</a></li>
<li><a href="../notebook/civic_tech.html">Utopian governance using technology, inc generative AI</a></li>
</ul>


</section>

 ]]></description>
  <category>digest</category>
  <guid>https://danmackinlay.name/digest/2026-03-22.html</guid>
  <pubDate>Sun, 22 Mar 2026 04:24:03 GMT</pubDate>
  <media:content url="https://danmackinlay.name/generated_thumbnails/site_previews/images/colossal_elephant_section.thumbnail.avif" medium="image" type="image/avif"/>
</item>
<item>
  <title>2026-03-09: mutual aid, privacy, friendly societies, Nostr, kinder social media</title>
  <link>https://danmackinlay.name/digest/2026-03-09.html</link>
  <description><![CDATA[ 







<div class="quarto-title-meta">

    
    </div>





<div id="fig-maggior-consiglio" class="figure illustration right quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-maggior-consiglio-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<a href="../images/maggior_consiglio_RP-P-2018-1237.avif" class="lightbox" data-gallery="quarto-lightbox-gallery-1" title="Figure&nbsp;1: "><img src="https://danmackinlay.name/images/maggior_consiglio_RP-P-2018-1237.avif" class="img-fluid figure-img"></a>
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig quarto-uncaptioned" id="fig-maggior-consiglio-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;1
</figcaption>
</figure>
</div>
<section id="newly-published" class="level2" data-number="1">
<h2 data-number="1" class="anchored" data-anchor-id="newly-published"><span class="header-section-number">1</span> Newly published</h2>
<section id="hacking-financial-regulation-for-community-mutual-aid" class="level3" data-number="1.1">
<h3 data-number="1.1" class="anchored" data-anchor-id="hacking-financial-regulation-for-community-mutual-aid"><span class="header-section-number">1.1</span> <a href="../notebook/neo_friendly_societies_technical.html">Hacking financial regulation for community mutual aid</a></h3>
<p>Ever wondered why a bunch of mates can’t just chuck in a couple hundred bucks a month, buy some ETFs, and have a kitty for when someone’s crook? Dan’s laid out the Aussie legal lanes for a small mutual-aid money pool — the full-on APRA “friendly society” road, a co-op, a small unregistered managed scheme with that 20-people/$2m cap, and even the Dutch Broodfonds trick where payouts are ‘gifts’, not insurance. The punchy bit is his claim that AI can do most of the boring paperwork — risk docs, reports, audit packs — so you pay the actuary and auditor to check and sign, not to spend weeks in spreadsheets. He’s even costed it, and the real killer for small groups is that fixed APRA levy, not the typing. You’d care if you reckon community back-up should be doable without getting flattened by forms and fees.</p>
</section>
<section id="how-to-reduce-government-spying-on-me" class="level3" data-number="1.2">
<h3 data-number="1.2" class="anchored" data-anchor-id="how-to-reduce-government-spying-on-me"><span class="header-section-number">1.2</span> <a href="../notebook/reducing_state_spying.html">How to reduce government spying on me</a></h3>
<p>Funny thing is, you can be minding your own business and your gadgets are still dobbing on you. Dan’s written a no-nessing-around guide to making it harder for the government to hoover up what you do online, starting with the boring truth that big tech is often the front door to state snooping. He runs through the practical stuff he reckons matters most: don’t feed data to the big platforms, keep Bluetooth quiet, hide those DNS lookups that give away what sites you’re hitting, lock down your laptop and phone, and treat USB like a dodgy ute you don’t know the history of. He also points at stronger “scrambling” for chats and logins, and ways to pass files without putting your name on the envelope. You’d care because you probably can’t make yourself invisible anymore, but you can make snooping cost more—and he bangs on (fairly) that the real fix is backing civil-liberties mobs, not just fiddling with settings.</p>
</section>
<section id="who-wants-to-found-a-friendly-society" class="level3" data-number="1.3">
<h3 data-number="1.3" class="anchored" data-anchor-id="who-wants-to-found-a-friendly-society"><span class="header-section-number">1.3</span> <a href="../notebook/neo_friendly_societies.html">Who wants to found a friendly society?</a></h3>
<p>You know how the old lodge used to help you out when you were sick or broke? Dan’s having a crack at a modern “friendly society” — a small local club where everyone chips in, the kitty gets invested (ETFs and the like), and in rough times you’ve got some clout to bargain for health or income help. The interesting bit is he’s not pretending it’s magic insurance; he’s saying it’s a crisis back-up that might hold up when the government’s stretched, by parking money in things that don’t fall over at the same time as your job does. He gets into how AI could do the boring admin and compliance paperwork that normally makes small groups impossible, and why he’d keep groups tiny (25–50) then copy-paste the setup as a “start-up kit” so lots of little mobs can share tools and still stay trusted. He also fronts up to the awkward part: this mainly helps people who’ve got spare cash to start with, so it’s not a cure-all — but it might stop ordinary households sliding into real trouble when things get shaky.</p>
</section>
</section>
<section id="updated" class="level2" data-number="2">
<h2 data-number="2" class="anchored" data-anchor-id="updated"><span class="header-section-number">2</span> Updated</h2>
<section id="nostr" class="level3" data-number="2.1">
<h3 data-number="2.1" class="anchored" data-anchor-id="nostr"><span class="header-section-number">2.1</span> <a href="../notebook/nostr.html">Nostr</a></h3>
<p>Here’s the funny bit: Nostr isn’t a new Facebook, it’s just a set of rules for passing signed notes through a bunch of relay servers, so you can prove it’s you posting without one big boss owning the whole show. Dan’s clocked the real make-or-break isn’t the tech, it’s whether anyone turns up — it’s still a bit of a tinkerers’ club, and the numbers look like they’ve levelled off. The hook they’re banking on is Lightning “zaps”: you can tip someone a few sats right inside the app, no mucking about, which might actually give creators a reason to bother. But if people don’t care much about getting banned or about privacy, you’ve still got the same old problem: no crowd means no one posts, and no posts means no crowd.</p>
</section>
<section id="who-i-donate-to" class="level3" data-number="2.2">
<h3 data-number="2.2" class="anchored" data-anchor-id="who-i-donate-to"><span class="header-section-number">2.2</span> <a href="../notebook/to_whom_i_donate.html">Who I donate to</a></h3>
<p>Instead of chucking his money at the safe, obvious stuff, Dan’s leaning hard into ‘hits-based giving’ — small bets on groups that might shift the whole system, even if a few don’t pan out. He’s spelling out his rule of thumb: he’s not backing every move these mobs make, he just reckons the average result is a net good. The fun bit is the mix — housing and clean energy pressure, plus anti-corruption and civil liberties, plus privacy-friendly software, so the rules and the tools both get a shove in the right direction. And he likes regular, boring recurring payments, because panic-fundraising just trains people to cry wolf.</p>
</section>
<section id="science-fiction" class="level3" data-number="2.3">
<h3 data-number="2.3" class="anchored" data-anchor-id="science-fiction"><span class="header-section-number">2.3</span> <a href="../notebook/science_fiction.html">Science Fiction</a></h3>
<p>Dan’s doing this sneaky little filter where he only chases sci‑fi that’s both on a trusted rec list and actually on audiobook — which is a nice way to dodge the endless muck and still find gems. Then he leans into the fun bit: an “AI takeover” movie night as a rough tour of all the ways people reckon machines could go pear‑shaped. It’s not about being a film snob, it’s about spotting the same worries popping up again and again — control, jobs, identity, the lot. If you’ve ever thought the AI doom chat feels a bit airy, these stories pin it to something you can actually watch and argue about over a cuppa.</p>
</section>
<section id="designing-less-cruel-social-media" class="level3" data-number="2.4">
<h3 data-number="2.4" class="anchored" data-anchor-id="designing-less-cruel-social-media"><span class="header-section-number">2.4</span> <a href="../notebook/kinder_social_media.html">Designing less cruel social media</a></h3>
<p>He’s leaning into a neat trick: get paid everyday users—picked like a jury—to set the big rules on privacy and modding, not some CEO or noisy pollies. And it’s not a ‘perfect plan’ fantasy either—more like IndieWeb/Fediverse: do a next move, see what breaks, then fix it.</p>
</section>
</section>
<section id="minor-tweaks" class="level2" data-number="3">
<h2 data-number="3" class="anchored" data-anchor-id="minor-tweaks"><span class="header-section-number">3</span> Minor tweaks</h2>
<ul>
<li><a href="../notebook/fish.html">Fish shell</a></li>
<li><a href="../notebook/decnet.html">Decentralized net services</a></li>
</ul>


</section>

 ]]></description>
  <category>digest</category>
  <guid>https://danmackinlay.name/digest/2026-03-09.html</guid>
  <pubDate>Mon, 09 Mar 2026 04:36:22 GMT</pubDate>
  <media:content url="https://danmackinlay.name/generated_thumbnails/site_previews/images/maggior_consiglio_RP-P-2018-1237.thumbnail.avif" medium="image" type="image/avif"/>
</item>
<item>
  <title>2026-03-03: A new journal, evolution tricks, AI behaving, git &amp; ssh, remote setup, writing tools</title>
  <link>https://danmackinlay.name/digest/2026-03-03.html</link>
  <description><![CDATA[ 







<div class="quarto-title-meta">

    
    </div>





<div id="fig-hat-evolution" class="figure illustration right quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-hat-evolution-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<a href="../images/hat_evolution_RP-P-OB-30.633.avif" class="lightbox" data-gallery="quarto-lightbox-gallery-1" title="Figure&nbsp;1: "><img src="https://danmackinlay.name/images/hat_evolution_RP-P-OB-30.633.avif" class="img-fluid figure-img"></a>
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig quarto-uncaptioned" id="fig-hat-evolution-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;1
</figcaption>
</figure>
</div>
<section id="newly-published" class="level2" data-number="1">
<h2 data-number="1" class="anchored" data-anchor-id="newly-published"><span class="header-section-number">1</span> Newly published</h2>
<section id="new-project-an-alignment-journal" class="level3" data-number="1.1">
<h3 data-number="1.1" class="anchored" data-anchor-id="new-project-an-alignment-journal"><span class="header-section-number">1.1</span> <a href="../post/announcing_alignment_journal.html">New project: an Alignment Journal</a></h3>
<p>Dan’s gone and helped start a proper open-access journal for AI alignment — basically a place where people can put their research on “how do we stop smart AI doing dumb or nasty stuff” without it being locked behind paywalls. In this post he explains they’re not just publishing things, they’re mucking around with different ways of doing peer review, to see if you can get better feedback and fewer old-boy games. He and another editor, Jess, are running it for a year as a trial, then they’ll look hard at whether it’s actually doing any good. If you’ve ever thought science can be a bit of a closed shop, this is them having a crack at making it more open — and they’re asking people to submit, review, or just keep an eye on it and call it as they see it.</p>
</section>
<section id="evolution-strategies" class="level3" data-number="1.2">
<h3 data-number="1.2" class="anchored" data-anchor-id="evolution-strategies"><span class="header-section-number">1.2</span> <a href="../notebook/evolution_strategy.html">Evolution strategies</a></h3>
<p>Picture training a neural net without doing any of that backprop maths at all — you just jiggle the weights with random noise, see what scores better, then nudge the weights that way. That’s what “evolution strategies” are, and Dan lays out the basic loop with Gaussian jiggles, plus the neat “antithetic” trick where you try +noise and -noise so a lot of the rubbish cancels out. He also bangs on (usefully) about how you’re really optimising a blurred version of your real goal, and the blur knob is that sigma value — too big and you chase the wrong thing, too small and the noise goes feral unless you run heaps of tries. Then he clears up the Bayes confusion: the distribution you sample from is just a search gadget, not some heartfelt belief about the world. Worth a look if your “model” has ugly bits like if-statements, simulators, or other stuff that makes gradients impossible, but you can afford lots of forward runs in parallel.</p>
</section>
</section>
<section id="updated" class="level2" data-number="2">
<h2 data-number="2" class="anchored" data-anchor-id="updated"><span class="header-section-number">2</span> Updated</h2>
<section id="git-tricks" class="level3" data-number="2.1">
<h3 data-number="2.1" class="anchored" data-anchor-id="git-tricks"><span class="header-section-number">2.1</span> <a href="../notebook/git.html">Git tricks</a></h3>
<p>Most folks pick through merge fights file by file; Dan’s got a sneaky way to tell Git “nah, take ours” (or “take theirs”) for the whole mess in one go, and he’s even made fish shortcuts so you don’t have to remember the spell. He also clears up why Git’s weird names like <code>refs/heads/…</code> aren’t magic — they’re just little signposts pointing at a commit, and they shift as the branch shifts. Handy when you’re cleaning up branches and tags, or pinching a folder out of a big repo without dragging the whole lot home. Bit of tidying round the edges too.</p>
</section>
<section id="time-management" class="level3" data-number="2.2">
<h3 data-number="2.2" class="anchored" data-anchor-id="time-management"><span class="header-section-number">2.2</span> <a href="../notebook/time_management.html">Time management</a></h3>
<p>Funny thing about time: the minute you start tracking it, you can either get smarter or just start gaming the numbers. Dan’s big point here is “don’t Goodhart yourself” — don’t turn your timer into a new way to muck about, use it to spot what’s actually chewing up your day. He’s keener on tracking that doesn’t snoop on your typing too, so open-source tools like ActivityWatch get a guernsey over the creepier ones. Then he goes full ‘autoblackmail’: set a rule, and if you don’t do the thing, you cough up cash — because your brain hates losses more than it loves goals. It’s a bit ruthless, but it works when willpower’s running on fumes.</p>
</section>
<section id="ssh" class="level3" data-number="2.3">
<h3 data-number="2.3" class="anchored" data-anchor-id="ssh"><span class="header-section-number">2.3</span> <a href="../notebook/ssh.html">ssh</a></h3>
<p>Turns out SSH isn’t stuck being that fragile little TCP thing that drops dead the second your internet has a sook. Dan’s banging on about two sneaky paths: you can tunnel SSH through HTTPS so it looks like normal web traffic (handy for airport or hotel ‘no fun allowed’ Wi‑Fi), and you can run it via QUIC, the newer plumbing behind HTTP/3 that can stay steadier on rotten links. The clever bit with QUIC is you don’t have to rebuild your SSH gear — you stick a proxy in the middle and off you go. If you’ve ever had a long remote job die at 98% because the line blinked, you’ll see why he’s interested.</p>
</section>
<section id="markdown-editors" class="level3" data-number="2.4">
<h3 data-number="2.4" class="anchored" data-anchor-id="markdown-editors"><span class="header-section-number">2.4</span> <a href="../notebook/markdown_editors.html">Markdown editors</a></h3>
<p>Here’s the funny bit: Markdown’s meant to be “just text”, but the minute you want proper maths, it turns into a tool-picking headache. Dan’s basically saying the editor matters less for pretty headings and more for whether it can show equations without you wanting to throw the laptop in the dam. He’s lined up options from the fancy stuff like VS Code and Typora, right down to little command-line viewers, plus this Mist thing where you can share a draft by URL and muck around together. Handy if you’re writing anything technical and you want it to feel smooth, not like you’re fighting the software the whole time.</p>
</section>
<section id="london" class="level3" data-number="2.5">
<h3 data-number="2.5" class="anchored" data-anchor-id="london"><span class="header-section-number">2.5</span> <a href="../notebook/london.html">London</a></h3>
<p>London’s not really one city, it’s a stack of odd little worlds with their own rules — and Dan’s leaning hard into finding the truly “only-in-London” bits, not the postcard stuff. The fun trick here is he’s using signals from real people (like those wildly split TripAdvisor reviews) to sniff out places that are either magic or a total stitch‑up, which is exactly where the good stories live. He’s also clocked the day‑to‑day survival angle, like how finding a decent coffee can turn into a weird little quest in a town that reckons it runs the world. And he’s chucking in practical local intel too — like where you can roll in with a Brompton without getting side‑eyed.</p>
</section>
<section id="remote-desktop" class="level3" data-number="2.6">
<h3 data-number="2.6" class="anchored" data-anchor-id="remote-desktop"><span class="header-section-number">2.6</span> <a href="../notebook/remote_desktop.html">Remote Desktop</a></h3>
<p>Remote desktop’s a moving target now — the “least-worst” pick changes depending what fresh hell each tool’s shipped this year, from dodgy privacy to junky UX. Dan’s basically keeping a cheat-sheet of which protocol speaks to which, so you don’t waste a day trying to make the wrong client talk to the wrong server. He’s also clocked newer options like RustDesk and even gamer gear like Moonlight.</p>
</section>
<section id="intentional-language" class="level3" data-number="2.7">
<h3 data-number="2.7" class="anchored" data-anchor-id="intentional-language"><span class="header-section-number">2.7</span> <a href="../notebook/intentional_language.html">Intentional language</a></h3>
<p>Funny thing: we’re hopeless at dry logic, but give it a “who’s breaking the rules at the pub” story and our brains nail it. Dan reckons that’s why talking about a machine like it “wants” stuff can be a handy shortcut—just don’t start seeing ghosts everywhere. He even wonders if the same trick makes “workers” and “capital” easier to think about, like two mobs with plans.</p>
</section>
<section id="now" class="level3" data-number="2.8">
<h3 data-number="2.8" class="anchored" data-anchor-id="now"><span class="header-section-number">2.8</span> <a href="../now.html">Now</a></h3>
<p>Dan’s put a name to the bit that matters: not just “can the AI predict stuff?”, but “can it take the wheel?” That’s what he means by causal agency (when a system’s choices actually steer what happens next) and AI disempowerment (how to stop the thing from quietly grabbing more control than you meant to hand over). He’s also trying to be a real human in Melbourne while he’s at it — living in that cohousing mob, wrangling a shopfront into a gig spot, and still doing the odd DJ mix when life lets him. Makes it sound less like a bloke in a lab and more like someone building a life around the scary bits he’s thinking about.</p>
</section>
<section id="genetic-programming" class="level3" data-number="2.9">
<h3 data-number="2.9" class="anchored" data-anchor-id="genetic-programming"><span class="header-section-number">2.9</span> <a href="../notebook/genetic_programming.html">Genetic programming</a></h3>
<p>Genetic programming’s the old “breed bits of code till it works” trick, but Dan’s blunt: it usually loses to backprop these days. The clever bit is where the real juice went — evolutionary strategies, which is less ‘copy nature’ and more ‘use random tries (Monte Carlo) to tune big neural nets’, and that can actually keep up.</p>
</section>
</section>
<section id="minor-tweaks" class="level2" data-number="3">
<h2 data-number="3" class="anchored" data-anchor-id="minor-tweaks"><span class="header-section-number">3</span> Minor tweaks</h2>
<ul>
<li><a href="../about_dan.html">Dan MacKinlay</a></li>
<li><a href="../notebook/ensemble_kalman_matheron.html">Ensemble Kalman updates are empirical Matheron updates</a></li>
<li><a href="../notebook/diy_socials.html">DIY social networks and social-groupware</a></li>
</ul>


</section>

 ]]></description>
  <category>digest</category>
  <guid>https://danmackinlay.name/digest/2026-03-03.html</guid>
  <pubDate>Mon, 02 Mar 2026 22:40:27 GMT</pubDate>
  <media:content url="https://danmackinlay.name/generated_thumbnails/site_previews/images/hat_evolution_RP-P-OB-30.633.thumbnail.avif" medium="image" type="image/avif"/>
</item>
<item>
  <title>2026-02-17: Computational mechanics, evolution strategies, interactive proofs, net censorship, China</title>
  <link>https://danmackinlay.name/digest/2026-02-17.html</link>
  <description><![CDATA[ 







<div class="quarto-title-meta">

    
    </div>





<div id="fig-demon-contracxt" class="figure illustration right quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-demon-contracxt-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<a href="../images/demon_contracxt_RP-P-OB-6815.avif" class="lightbox" data-gallery="quarto-lightbox-gallery-1" title="Figure&nbsp;1: "><img src="https://danmackinlay.name/images/demon_contracxt_RP-P-OB-6815.avif" class="img-fluid figure-img"></a>
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig quarto-uncaptioned" id="fig-demon-contracxt-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;1
</figcaption>
</figure>
</div>
<section id="newly-published" class="level2" data-number="1">
<h2 data-number="1" class="anchored" data-anchor-id="newly-published"><span class="header-section-number">1</span> Newly published</h2>
<section id="computational-mechanics" class="level3" data-number="1.1">
<h3 data-number="1.1" class="anchored" data-anchor-id="computational-mechanics"><span class="header-section-number">1.1</span> <a href="../notebook/computational_mechanics.html">Computational mechanics</a></h3>
<p>Here’s a funny one: Dan’s talking about how you turn a messy random stream of data into a proper set of “states” you can use to guess what comes next. The trick in computational mechanics is: two different pasts count as the same state if they lead to the same odds for every possible future, and from that you get an “ε-machine” — basically a tidy little state diagram where the next state is nailed down once you see the next symbol. He also gets stuck into the bookkeeping of randomness versus structure: the entropy rate is the churn you can’t predict, and Cμ is how much past the process has to hang onto to stay sharp. Then he lines it up against HMMs and those predictive-state thingos (PSRs) so you can see who’s doing “hidden causes” and who’s just tracking forecasts. Worth a look if you’re sick of models that either memorise too much junk or throw away the one bit of the past that actually matters.</p>
</section>
<section id="evolution-strategies-for-neural-nets" class="level3" data-number="1.2">
<h3 data-number="1.2" class="anchored" data-anchor-id="evolution-strategies-for-neural-nets"><span class="header-section-number">1.2</span> <a href="../notebook/nn_evolution_strategy.html">Evolution strategies for neural nets</a></h3>
<p>Reckon this one’s like training a dog without telling it what it did wrong — you just try a bunch of little random nudges to the net’s weights, see which nudge scores best, then lean that way. Dan spells out how “evolution strategies” do that with Gaussian noise, and why you end up chasing a slightly blurred-out score so rough, jagged targets don’t break your run. He gets stuck into the bits that stop you getting flogged by noise: use paired + and − nudges so the luck cancels, and make every try look at the same mini-batch so you’re comparing like with like. Anyone should care if their setup has discrete choices, if-statements, or a simulator in the loop where backprop’s a pain, and they’ve got plenty of gear to run heaps of forward passes while only sending back one number each time.</p>
</section>
<section id="depate-and-interactive-proof" class="level3" data-number="1.3">
<h3 data-number="1.3" class="anchored" data-anchor-id="depate-and-interactive-proof"><span class="header-section-number">1.3</span> <a href="../notebook/debate.html">Depate and interactive proof</a></h3>
<p>Picture a courtroom where one side has to prove a claim, and the other side’s job is to catch any sneaky bits — that’s an interactive proof, and it’s the same rough idea behind AI “debate”. Dan’s been mapping these back-and-forth games out: how many rounds they take, how much grunt you need, and how it scales from the easy stuff up to the truly nasty classes like NP and NEXP. The bit that matters is his worry that a huge neural net might be bloody hard to explain to a smaller judge — like asking a kid to justify a tax return. He’s also poking at “neural interactive proofs” and the whole problem of slick, obfuscated arguments, then trying to model it as a leader–follower game so you can see what each side will actually do. If we ever want to trust big AI systems, we need ways to check their claims without needing an even bigger AI watching over them.</p>
</section>
<section id="net-censorship" class="level3" data-number="1.4">
<h3 data-number="1.4" class="anchored" data-anchor-id="net-censorship"><span class="header-section-number">1.4</span> <a href="../notebook/net_censorship.html">Net censorship</a></h3>
<p>Funny thing is, “net censorship” isn’t just someone deleting a post — it’s all the sneaky ways a govt or a platform can make stuff hard to find, or look like it never existed. Dan’s gone through Turkey’s heavy-handed tricks, then he’s poked around the Lumen database, which is basically a public filing cabinet of takedown notices and legal threats. He’s also widening the idea past straight-up bans into softer stuff like shadow-bans, where you can still talk but nobody bloody hears you. Worth a look if you’ve ever wondered whether the internet’s “down” or you’re just being quietly steered.</p>
</section>
</section>
<section id="updated" class="level2" data-number="2">
<h2 data-number="2" class="anchored" data-anchor-id="updated"><span class="header-section-number">2</span> Updated</h2>
<section id="china" class="level3" data-number="2.1">
<h3 data-number="2.1" class="anchored" data-anchor-id="china"><span class="header-section-number">2.1</span> <a href="../notebook/china.html">China</a></h3>
<p>Here’s the bit that might save you a swear in an airport lounge: China’s firewall isn’t just “VPN on, she’ll be right” — it’s a cat‑and‑mouse game, and the plain big-name VPN apps get picked off pretty quick. Dan’s boiled it down to the real trick, which is using tools like Shadowrocket with Shadowsocks and other newer tunnel tricks (Hysteria2, VLESS) that try to look more like normal web traffic. Not a magic cloak, just harder to spot than the usual one-size-fits-all VPN. He’s also chucked in a simple pointer for Mandarin stuff, so you’re not stuck guessing what half the menus and warnings mean.</p>
</section>
<section id="disseminating-science" class="level3" data-number="2.2">
<h3 data-number="2.2" class="anchored" data-anchor-id="disseminating-science"><span class="header-section-number">2.2</span> <a href="../notebook/science_dissemination.html">Disseminating science</a></h3>
<p>Dan’s poking at the ugly truth of science publishing: it’s meant to share knowledge, but it’s run like a scoreboard—impact factors and that h-index—so people chase points, not good science. Then everyone acts shocked when researchers lean on Sci-Hub and the like, because the paywalls don’t match how people actually read.</p>
</section>
<section id="money-australian-style" class="level3" data-number="2.3">
<h3 data-number="2.3" class="anchored" data-anchor-id="money-australian-style"><span class="header-section-number">2.3</span> <a href="../notebook/money_australia.html">Money, Australian-style</a></h3>
<p>Here’s the rude shock: the ATO might pre-fill your return, but once you’ve bought and sold shares it can turn into a bloody jigsaw with mystery 8‑digit codes and numbers that don’t match your broker. Dan’s basically saying “don’t trust the magic” — use a proper tracker (like Sharesight) or you’ll be doing late‑night detective work on your own money. He’s also clocked that Aussie crypto is a bit like buying gear in a tiny town: the AUSTRAC mobs are mostly local, spreads are wide, fees can bite, and some apps let you ‘buy’ coins but won’t let you move them anywhere. And if you’re freelancing, bad luck mate — you’re a sole trader, BAS and all, so you want invoicing/books gear that’s made for one person, not a whole office full of busybodies.</p>
</section>
<section id="london" class="level3" data-number="2.4">
<h3 data-number="2.4" class="anchored" data-anchor-id="london"><span class="header-section-number">2.4</span> <a href="../notebook/london.html">London</a></h3>
<p>London’s not just a big city — it’s a city that hogs the lot, so big it breaks the usual ‘cities come in neat sizes’ rule. Dan’s calling it a “primate city”, which is just nerd-speak for “one bully city that sits off the top of the chart”, like London (and Paris) being the weird outlier. The fun bit is how that bigness leaks into daily life: people talk in postcodes like they’re GPS coords, and a postcode tells you where you sit in the pecking order. He also leans harder into class as something you can spot in plain stuff like where people shop, not just accents and fancy titles. Makes you look at London less like a place and more like a machine that’s got its own rules.</p>
</section>
<section id="incoming-links-and-notes" class="level3" data-number="2.5">
<h3 data-number="2.5" class="anchored" data-anchor-id="incoming-links-and-notes"><span class="header-section-number">2.5</span> <a href="../notebook/incoming.html">Incoming links and notes</a></h3>
<p>Dan’s pinboard’s got a few new gems, like a tool that proves you can’t pick one meeting time that suits London, Melbourne and San Fran — someone’s always half asleep. He’s also chucked in a good read on how that “95%” thing got butchered and spread, which is a neat reminder that numbers can mislead if you don’t ask what they’re actually measuring.</p>
</section>
<section id="chinese-language" class="level3" data-number="2.6">
<h3 data-number="2.6" class="anchored" data-anchor-id="chinese-language"><span class="header-section-number">2.6</span> <a href="../notebook/chinese.html">Chinese language</a></h3>
<p>Dan’s been collecting Chinese slang that’s basically a running commentary on “the system’s cooked”. You’ve got 差不多 (chabuduo) — the ‘near enough, she’ll be right’ habit — then “lying flat” and these “rat people” terms for folks who opt out and hide from the grind, and 内卷 (involution) for everyone competing harder just to go nowhere. The clever bit is how the words line up: corner-cutting on one end, burnout and withdrawal on the other, and a whole lot of pointless treadmill in the middle. It’s like learning a language through what people complain about when they’re sick of it all.</p>
</section>
<section id="classification" class="level3" data-number="2.7">
<h3 data-number="2.7" class="anchored" data-anchor-id="classification"><span class="header-section-number">2.7</span> <a href="../notebook/classification.html">Classification</a></h3>
<p>Here’s a funny sting in the tail: you can’t sort things into neat buckets without already deciding what ‘counts’ as similar. That Ugly Duckling thing says if you treat all features as equal, anything can look just as alike as anything else — so a classifier only works because you’ve baked in a bias about what matters.</p>
</section>
</section>
<section id="minor-tweaks" class="level2" data-number="3">
<h2 data-number="3" class="anchored" data-anchor-id="minor-tweaks"><span class="header-section-number">3</span> Minor tweaks</h2>
<ul>
<li><a href="../notebook/how_to_communicate.html">How to communicate</a></li>
<li><a href="../notebook/nn_computational_complexity.html">Computational complexity and computability results in neural nets</a></li>
<li><a href="../notebook/ageing.html">Ageing</a></li>
<li><a href="../notebook/genetic_programming.html">Genetic programming</a></li>
<li><a href="../notebook/moloch_vs_slack.html">Moloch, slack and friends</a></li>
<li><a href="../notebook/ai_safety_career_calibration.html">Advice to pivot into AI Safety is likely miscalibrated</a></li>
<li><a href="../notebook/fashion.html">Fashion</a></li>
</ul>


</section>

 ]]></description>
  <category>digest</category>
  <guid>https://danmackinlay.name/digest/2026-02-17.html</guid>
  <pubDate>Tue, 17 Feb 2026 09:58:22 GMT</pubDate>
  <media:content url="https://danmackinlay.name/generated_thumbnails/site_previews/images/demon_contracxt_RP-P-OB-6815.thumbnail.avif" medium="image" type="image/avif"/>
</item>
<item>
  <title>2026-02-10: Embedded agency, internal models, category theory, Bayes in the wild, peer review</title>
  <link>https://danmackinlay.name/digest/2026-02-10.html</link>
  <description><![CDATA[ 







<div class="quarto-title-meta">

    
    </div>





<div id="fig-londons-burning" class="figure illustration right quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-londons-burning-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<a href="../images/londons_burning_RP-P-OB-82.017.avif" class="lightbox" data-gallery="quarto-lightbox-gallery-1" title="Figure&nbsp;1: "><img src="https://danmackinlay.name/images/londons_burning_RP-P-OB-82.017.avif" class="img-fluid figure-img"></a>
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig quarto-uncaptioned" id="fig-londons-burning-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;1
</figcaption>
</figure>
</div>
<section id="newly-published" class="level2" data-number="1">
<h2 data-number="1" class="anchored" data-anchor-id="newly-published"><span class="header-section-number">1</span> Newly published</h2>
<section id="internal-model-principles" class="level3" data-number="1.1">
<h3 data-number="1.1" class="anchored" data-anchor-id="internal-model-principles"><span class="header-section-number">1.1</span> <a href="../notebook/internal_models.html">Internal model principles</a></h3>
<p>Ever tried steering a ute on corrugations without looking ahead? That’s the vibe here: the internal model principle says if you want to keep something steady, you need a little model of it inside the thing doing the steering. Dan’s been jotting notes on that, plus the “good regulator” idea — the best regulator is, in a real sense, one that carries a model of what it’s regulating. The new rabbit hole is the ε‑transducer: it takes ε‑machines (fancy pattern‑spotters) and turns them into agents that act, learn, and keep revising their bets the Bayes way as new clues roll in. Worth a squiz if you care about AI or control gear that doesn’t just predict the world, but can poke it and still stay on the rails.</p>
</section>
<section id="categorical-systems-theory" class="level3" data-number="1.2">
<h3 data-number="1.2" class="anchored" data-anchor-id="categorical-systems-theory"><span class="header-section-number">1.2</span> <a href="../notebook/categorical_systems_theory.html">Categorical systems theory</a></h3>
<p>It’s like turning messy systems into neat little boxes with plugs, so you can hook them together without losing your mind — that’s “categorical systems theory”, in plain speak. Dan’s doesn’t know any category theory but he’s persuaded we might use that category-theory gear and using it to talk about how a system deals with its world through those plug-points, and how you can snap small bits into bigger ones without rewriting the whole bloody thing. The juicy bit is the string diagrams: instead of pages of symbols, you draw the wiring, then you can actually do the sums over Bayesian networks by pushing stuff along the strings. He even says what kicked it off — seeing Martin Biehl use these diagrams to make hard probabilistic models feel less like wrestling an octopus. Worth a look if you like models that stay modular when they get big, instead of turning into spaghetti.</p>
</section>
<section id="embedded-agency" class="level3" data-number="1.3">
<h3 data-number="1.3" class="anchored" data-anchor-id="embedded-agency"><span class="header-section-number">1.3</span> <a href="../notebook/agency_embedded.html">Embedded agency</a></h3>
<p>Ever seen a dog chase her own tail till she stacks it? That’s the sort of weird Dan’s poking at with ‘embedded agency’ — minds stuck inside the world, trying to reason about themselves and each other. He went in expecting down-to-earth stuff, but found it’s mostly about what happens when you pretend the agent has endless compute, AIXI-style, and then let it build whole pretend worlds inside its head. Once you do that, Gödel and Löb pop up everywhere and the logic starts biting its own arse, especially when agents model themselves or other agents doing the same trick. Dan reckons it’s fun and a good place to learn Löb, but he’s not chasing it right now because real AI lives and dies on tight compute budgets, not fairyland infinity.</p>
</section>
</section>
<section id="updated" class="level2" data-number="2">
<h2 data-number="2" class="anchored" data-anchor-id="updated"><span class="header-section-number">2</span> Updated</h2>
<section id="london" class="level3" data-number="2.1">
<h3 data-number="2.1" class="anchored" data-anchor-id="london"><span class="header-section-number">2.1</span> <a href="../notebook/london.html">London</a></h3>
<p>London’s got a city inside the city, and it’s been getting away with it for about a thousand years — the Square Mile runs on its own strange rules while the rest of London muddles along around it. Dan’s gone down the rabbit hole on how the Poms deal with a growing mega-city: they don’t tidy it up, they just slap new layers on and keep the old little fiefdoms, like patching a leaky tank with more hose clamps. The bit that’ll make you blink is the City flat-out refused to “grow up” and take in the suburbs back in the 1600s, and you can still see the mess today. Then he lightens the mood with properly London-only fun — summoning museum treasure from a warehouse by robot, and poking around Cecil Court for old prints like a bloke who’s lost his car keys in 1780.</p>
</section>
<section id="bayes-inference-in-an-open-world" class="level3" data-number="2.2">
<h3 data-number="2.2" class="anchored" data-anchor-id="bayes-inference-in-an-open-world"><span class="header-section-number">2.2</span> <a href="../notebook/bayes_misspecified.html">Bayes inference in an open world</a></h3>
<p>Here’s the sneaky bit: if your model’s wrong (and it is), plain Bayes can get more and more sure of the wrong answer as you feed it data. Dan’s banging on about the “M-open” world, which just means the real truth isn’t even in your little set of models, so stop pretending you’ll ever find it. So instead of picking one ‘winner’, you can stack a few models and let out-of-sample checks (LOO with that PSIS shortcut) decide the mix that predicts best. And if Bayes is getting cocky, you can ‘temper’ the likelihood with an η knob — basically turning down how loud the data yells — so it doesn’t lock onto a dud story.</p>
</section>
<section id="improving-peer-review" class="level3" data-number="2.3">
<h3 data-number="2.3" class="anchored" data-anchor-id="improving-peer-review"><span class="header-section-number">2.3</span> <a href="../notebook/science_peer_review.html">Improving peer review</a></h3>
<p>Peer review’s meant to be a fair go, but half the time it turns into a messy blue over who said what in the rebuttal. Dan’s big idea is chucking in an AI “umpire” just for the dispute bit — a few fixed back-and-forth turns, it points to the exact lines, gives a confidence call, and the whole chat gets saved so you can check it later. He also leans on a bit of randomness in who reviews what, plus rules that stop easy mate-swaps, so collusion rings and fake reviewer games are harder to pull off. And on the bias stuff, he likes a middle road: keep names hidden while scores go in, then lift the curtain after, so you dodge prestige carry-on without losing the proper conflict checks.</p>
</section>
<section id="sleep" class="level3" data-number="2.4">
<h3 data-number="2.4" class="anchored" data-anchor-id="sleep"><span class="header-section-number">2.4</span> <a href="../notebook/sleep.html">Sleep</a></h3>
<p>Here’s a weird one: Dan reckons jet lag’s not just “sleep it off” — this Timeshifter app gives you bossy orders about sun, shade, coffee and naps, and it can about drag your body clock into line. After seeing it work, he’s got a lot more respect for light timing, and he’s cranky it’s now harder (and pricier) to get melatonin in Australia.</p>
</section>
<section id="intentional-language-is-ok" class="level3" data-number="2.5">
<h3 data-number="2.5" class="anchored" data-anchor-id="intentional-language-is-ok"><span class="header-section-number">2.5</span> <a href="../notebook/intentional_language.html">Intentional language is ok</a></h3>
<p>Funny thing: we’re rubbish at cold logic, but give it a “who’s breaking the rules?” story and our brains wake up — same trick can help with AIs. Dan reckons saying a model “wants” or “thinks” is a quick way to guess its next move, without pretending it’s got feelings or deserves any special care. Handy tool, just don’t start seeing a person in every bit of code.</p>
</section>
<section id="pibbs-x-iliad-research-residency-january-february-2026" class="level3" data-number="2.6">
<h3 data-number="2.6" class="anchored" data-anchor-id="pibbs-x-iliad-research-residency-january-february-2026"><span class="header-section-number">2.6</span> <a href="../post/pibbss_x_iliad.html">PIBBS x ILIAD Research residency January-February 2026</a></h3>
<p>More on this “singular learning theory” caper — it’s the maths for when your model’s a knotty beast, not a neat straight line, and the usual tidy rules stop working. What’s clever is how it ties together how well a learner behaves out in the wild with the “shortest story” you can tell about the data, plus those old Jeffreys-prior tricks so you’re not kidding yourself just because you picked funny units. They even rope in coding rules like Kraft–McMillan — same vibe as making sure your zips and checksums actually add up before you trust the file. And it loops back to agency and internal models: if something’s meant to act on the world, what’s the little working map it needs inside its head to stay on track?</p>
</section>
<section id="travel-hacks" class="level3" data-number="2.7">
<h3 data-number="2.7" class="anchored" data-anchor-id="travel-hacks"><span class="header-section-number">2.7</span> <a href="../notebook/travel_hacks.html">Travel hacks</a></h3>
<p>Here’s the sneaky truth Dan’s finally said out loud: half the pain of travel isn’t the flying, it’s the dumb little frictions you forget to plan for. He’s big on dodging SIM card stuffing about — pay a bit more for a travel eSIM if it saves you wasting an hour hunting a shop and mucking round with rego, and he’s even picked one that’s rough round the edges but actually answers you. Then he gets properly practical about long-haul misery: a cheap gel cushion for your bony arse, and instead of those useless neck pillows, you strap your head up like a packed load so you don’t wake up twisted and drooling. He’s also chucked in a straight answer on folding bikes and a quick nudge for jet lag tools, so you’re not just “toughing it out” like a martyr.</p>
</section>
</section>
<section id="minor-tweaks" class="level2" data-number="3">
<h2 data-number="3" class="anchored" data-anchor-id="minor-tweaks"><span class="header-section-number">3</span> Minor tweaks</h2>
<ul>
<li><a href="../notebook/incoming.html">Incoming links and notes</a></li>
<li><a href="../notebook/how_to_communicate.html">How to communicate</a></li>
<li><a href="../post/2025_influences.html">Top influences of 2025</a></li>
<li><a href="../notebook/world_models.html">World models arising in foundation models.</a></li>
<li><a href="../notebook/dns.html">DNS</a></li>
<li><a href="../notebook/informations.html">Informations</a></li>
<li><a href="../post/llm_hacks_2026.html">Generative AI workflows and hacks 2026</a></li>
<li><a href="../notebook/dynamical_systems.html">Dynamical systems</a></li>
</ul>


</section>

 ]]></description>
  <category>digest</category>
  <guid>https://danmackinlay.name/digest/2026-02-10.html</guid>
  <pubDate>Tue, 10 Feb 2026 14:59:57 GMT</pubDate>
  <media:content url="https://danmackinlay.name/generated_thumbnails/site_previews/images/londons_burning_RP-P-OB-82.017.thumbnail.avif" medium="image" type="image/avif"/>
</item>
<item>
  <title>2026-02-04: speaking on purpose, MaxEnt, attention economy, social brain, London</title>
  <link>https://danmackinlay.name/digest/2026-02-04.html</link>
  <description><![CDATA[ 







<div class="quarto-title-meta">

    
    </div>





<section id="newly-published" class="level2" data-number="1">
<h2 data-number="1" class="anchored" data-anchor-id="newly-published"><span class="header-section-number">1</span> Newly published</h2>
<section id="intentional-language-is-ok" class="level3" data-number="1.1">
<h3 data-number="1.1" class="anchored" data-anchor-id="intentional-language-is-ok"><span class="header-section-number">1.1</span> <a href="../notebook/intentional_language.html">Intentional language is ok</a></h3>
<p>Here’s the cheeky thought: talking about machines like they’ve got “wants” and “beliefs” might not be dumb — it might be how our brains do their best thinking. Dan kicks off with that card-flipping puzzle where everyone stuffs it up in abstract logic, but nails it when it’s framed like spotting a cheater at the pub, because we’re built for social rules, not clean little syllogisms. Then he brings in Dennett’s “intentional stance”, which is just a handy shortcut: instead of staring at a billion knobs inside an AI, you say “it thinks I’m asking for X” and you can actually predict what it’ll do. He’s not saying the thing’s conscious; he’s saying this language ports the problem into the bit of your brain that’s fast. And he does warn about overdoing it — see enough “agency” in clouds and toasters and you’ll end up believing the whole paddock’s got a personality.</p>
</section>
<section id="maxent-inference" class="level3" data-number="1.2">
<h3 data-number="1.2" class="anchored" data-anchor-id="maxent-inference"><span class="header-section-number">1.2</span> <a href="../notebook/maxent.html">MaxEnt inference</a></h3>
<p>Alright, this one’s about MaxEnt inference — instead of doing Bayes the usual way, you write down what you know as hard rules (constraints), then pick the spread-outest probability story that still obeys them. “Maximum entropy” just means you’re not sneaking in extra assumptions when you’ve got no right to. Dan yaps through why Jaynes made a big deal of it, has a squint at folks who tried to pin down the maths properly, and even points out some of that ‘axioms’ stuff might be a bit wonky. The interesting bit is he links it to predictive coding — the brain-as-guessing-machine idea — and to optimal transport via Lagrange duality, which is a fancy way of saying the same problem can be solved from the other end. Worth a look if you ever need a clean way to update beliefs from partial info without kidding yourself.</p>
</section>
</section>
<section id="updated" class="level2" data-number="2">
<h2 data-number="2" class="anchored" data-anchor-id="updated"><span class="header-section-number">2</span> Updated</h2>
<section id="london" class="level3" data-number="2.1">
<h3 data-number="2.1" class="anchored" data-anchor-id="london"><span class="header-section-number">2.1</span> <a href="../notebook/london.html">London</a></h3>
<p>London’s got this funny little social tell: it’s not just what you buy, it’s where you buy it — supermarkets and bakeries act like class badges, even when the shelves all look much the same and everything costs a fortune anyway. Dan’s clocked that the ‘vibe’ matters as much as the price, which is very UK and a bit cooked. But the real head-scratcher is heating: people whinge about bills nonstop, then run roaring gas heaters in leaky old barns and crack the window when it’s too hot instead of touching the thermostat. It’s like watching someone tip water into a bucket with a hole, then blame the water company. Makes you wonder what’s habit, what’s status, and what’s just folks refusing to learn the controls.</p>
</section>
<section id="attention-economy" class="level3" data-number="2.2">
<h3 data-number="2.2" class="anchored" data-anchor-id="attention-economy"><span class="header-section-number">2.2</span> <a href="../notebook/attention_economy.html">Attention economy</a></h3>
<p>Funny thing is, Dan’s stopped treating the “attention economy” like a moral panic and started treating it like a proper scarce resource — like money or time — that you can actually put into a maths problem as a hard limit. Then the penny drops: platforms aren’t just “distracting”, they’re competing to bend that limit their way by predicting what’ll snag you one more minute. But he also points out the simple econ story isn’t the whole show, because our brains have quirks — novelty hooks you, willpower runs down, and random little rewards keep you coming back — so the end result can look addictive even if nobody sat down twirling a villain moustache. The real question he’s circling is what you even optimise for, over whose time, and over what stretch, when the game’s being played on human biology that wasn’t built for endless cheap dopamine hits.</p>
</section>
<section id="pibbs-x-illiad-research-residency-january-2026" class="level3" data-number="2.3">
<h3 data-number="2.3" class="anchored" data-anchor-id="pibbs-x-illiad-research-residency-january-2026"><span class="header-section-number">2.3</span> <a href="../post/pibbss_x_iliad.html">PIBBS x ILLIAD Research residency January 2026</a></h3>
<p>Dan’s off to London for this AI residency, and the juicy bit is him trying to nail down “agency” as just another part of a cause‑and‑effect map — not some spooky magic. If you can draw the choices and the feedback loops cleanly, you can actually check your story about an “agent” instead of just going off vibes.</p>
</section>
<section id="the-social-brain" class="level3" data-number="2.4">
<h3 data-number="2.4" class="anchored" data-anchor-id="the-social-brain"><span class="header-section-number">2.4</span> <a href="../notebook/social_brain.html">The social brain</a></h3>
<p>Here’s a funny twist: a lot of our “reasoning” isn’t built for finding the truth, it’s built for winning an argument in front of other people. Dan’s leaning into that social-brain idea — that your brain’s more like a little committee doing sales pitches than a cold calculator. He also makes the point that saying things like “she wants X” or “the model believes Y” isn’t baby talk, it’s a decent shorthand for what’s driving the choices. Makes you wonder how much of your own thinking is you being smart, and how much is you writing a speech for the crowd.</p>
</section>
</section>
<section id="minor-tweaks" class="level2" data-number="3">
<h2 data-number="3" class="anchored" data-anchor-id="minor-tweaks"><span class="header-section-number">3</span> Minor tweaks</h2>
<ul>
<li><a href="../notebook/chat.html">Secure chat systems</a></li>
<li><a href="../notebook/entropy_vs_information.html">Entropy vs information</a></li>
<li><a href="../notebook/scientific_writing.html">Scientific writing</a></li>
<li><a href="../notebook/social_calendar.html">Let’s solve social event organising</a></li>
<li><a href="../notebook/sf_bay_area.html">San Francisco Bay Area</a></li>
</ul>


</section>

 ]]></description>
  <category>digest</category>
  <guid>https://danmackinlay.name/digest/2026-02-04.html</guid>
  <pubDate>Wed, 04 Feb 2026 08:23:50 GMT</pubDate>
  <media:content url="https://danmackinlay.name/generated_thumbnails/site_previews/images/elegant_greek_succour.thumbnail.avif" medium="image" type="image/avif"/>
</item>
<item>
  <title>2026-01-20: Imprecise Bayesianism, Generative AI workflows, Causal inference, AI evals, travel notes</title>
  <link>https://danmackinlay.name/digest/2026-01-20.html</link>
  <description><![CDATA[ 







<div class="quarto-title-meta">

    
    </div>





<div id="fig-unicorn" class="figure illustration right quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-unicorn-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<a href="../images/unicorn.png" class="lightbox" data-gallery="quarto-lightbox-gallery-1" title="Figure&nbsp;1: "><img src="https://danmackinlay.name/images/unicorn.png" class="img-fluid figure-img"></a>
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig quarto-uncaptioned" id="fig-unicorn-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;1
</figcaption>
</figure>
</div>
<section id="newly-published" class="level2" data-number="1">
<h2 data-number="1" class="anchored" data-anchor-id="newly-published"><span class="header-section-number">1</span> Newly published</h2>
<section id="imprecise-bayesianism" class="level3" data-number="1.1">
<h3 data-number="1.1" class="anchored" data-anchor-id="imprecise-bayesianism"><span class="header-section-number">1.1</span> <a href="../notebook/bayes_imprecise.html">Imprecise Bayesianism</a></h3>
<p>Fair dinkum: Imprecise Bayesianism is just Bayes without pretending you can pin one exact probability — you let your belief be a range or set of distributions when your model’s likely wrong. Dan walks through the old-school set-prior idea (update each prior then use a maximin or worst-case decision), PAC-Bayes bounds that give probability-backed generalisation guarantees for ensembles, and the newer-sounding infrabayesian bit with ‘infradistributions’. It matters because real models are messy, and ranges or worst-case rules stop you being overconfident when stuff goes pear-shaped. He’s frank about what he’s actually used and points to tools and references if you want to poke under the hood.</p>
</section>
<section id="generative-ai-workflows-and-hacks-2026" class="level3" data-number="1.2">
<h3 data-number="1.2" class="anchored" data-anchor-id="generative-ai-workflows-and-hacks-2026"><span class="header-section-number">1.2</span> <a href="../post/llm_hacks_2026.html">Generative AI workflows and hacks 2026</a></h3>
<p>Righto, Dan’s put together a grab-bag of hacks to stop AI outputs turning into a messy tangle when you copy them. He points out that OpenAI now spits out ugly HTML for maths and that Google Deep Research loses inline links, then lays out practical fixes: use a proper client that keeps markdown (like Jan), a tiny macOS clipboard script to convert HTML→Markdown, or his Deep Research client that preserves links and maths. It’s the sort of tidy little lifesaver that saves you an hour of cleanup and a fair few swear words when you actually want usable notes with code and equations.</p>
</section>
<section id="london" class="level3" data-number="1.3">
<h3 data-number="1.3" class="anchored" data-anchor-id="london"><span class="header-section-number">1.3</span> <a href="../notebook/london.html">London</a></h3>
<p>Fancy a gossip about trolleys and class? Dan walks London by its shops, showing how supermarket choice — Waitrose, M&amp;S, Sainsbury’s, Tesco down to Aldi/Lidl — and department stores like Harrods or Selfridges act as blunt little signals of where someone sits on the social map. He also flags Kew Gardens as the old empire’s botanical HQ, just to remind you this city wears history on its sleeve. It’s useful because it turns everyday shopping into a readable clue about taste, postcode and money worries — and why even wealthy-looking households might have an Aldi bag now the bills bite.</p>
</section>
<section id="san-francisco-bay-area" class="level3" data-number="1.4">
<h3 data-number="1.4" class="anchored" data-anchor-id="san-francisco-bay-area"><span class="header-section-number">1.4</span> <a href="../notebook/sf_bay_area.html">San Francisco Bay Area</a></h3>
<p>You’d swear San Francisco was half dream, half building site. Dan wanders the Bay Area, ticking off why it still pulls visionaries and weirdos, name‑checking quirky institutions and lesser-known people worth watching, then has a proper moan about the state of the basics. He digs into sewers, stormwater and ageing PG&amp;E gear — the sort of dry, grubby stuff that actually breaks things. Why care? Because this is where tech gets tried, and if the pipes and power are dodgy the fancy ideas mean squat.</p>
</section>
<section id="causal-inference-in-learning-to-act" class="level3" data-number="1.5">
<h3 data-number="1.5" class="anchored" data-anchor-id="causal-inference-in-learning-to-act"><span class="header-section-number">1.5</span> <a href="../notebook/causality_learning_action.html">Causal inference in learning to act</a></h3>
<p>Grab your cuppa — Dan’s been poking at how machines learn to act, but with a causal twist. In plain talk: learning to act is really about ‘what if’ questions — what happens if I do this — so it’s natural to treat it like cause and effect, not just pattern-spotting. He walks through how reinforcement learning fits that idea, points to bandit problems as the simple starting point, and warns that learning from other folks’ logged data can be dodgy because hidden confounders sneak in — which is where offline learning can actually help. He also points at history-based RL and throws in a note about predictive coding and earlier work. Why bother? Because if you want machines to make sensible, safer choices from messy real-world data, thinking in causal terms stops them being fooled by mere correlations — and that’s the bit Dan wants you to notice.</p>
</section>
</section>
<section id="updated" class="level2" data-number="2">
<h2 data-number="2" class="anchored" data-anchor-id="updated"><span class="header-section-number">2</span> Updated</h2>
<section id="scientific-writing" class="level3" data-number="2.1">
<h3 data-number="2.1" class="anchored" data-anchor-id="scientific-writing"><span class="header-section-number">2.1</span> <a href="../notebook/scientific_writing.html">Scientific writing</a></h3>
<p>Stone the crows — Dan’s gone and added a proper ‘Actual advice’ section with concrete, usable tips and a big pile of links you can actually use. He’s also dropped in ‘Machine learning’ and ‘Mathematical’ sections that tell you how to write ML stuff and tidy up maths so readers don’t switch off. ‘Miscellaneous invective’ is his charming rant about the worst bits of academic gobbledegook. Overall, it moves the notes from moaning about bad style to giving people real, practical help for writing technical things clearly.</p>
</section>
<section id="reinforcement-learning" class="level3" data-number="2.2">
<h3 data-number="2.2" class="anchored" data-anchor-id="reinforcement-learning"><span class="header-section-number">2.2</span> <a href="../notebook/reinforcement_learning.html">Reinforcement learning</a></h3>
<p>Well, would you look at that — Dan’s added three proper chunks: History-based RL, Reinforcement learning and causality, and a Variants roundup. The Variants bit gathers the oddballs: reward-free ideas like empowerment, generative-action setups, hierarchical RL and even diffusion-flavoured decision-making, with pointers to the other notes. History-based RL gives space to agents that use memory (think MENACE and more modern history-driven tricks). There’s still the hands-on bits too — a plain PyTorch REINFORCE example if you want something to run and poke at.</p>
</section>
<section id="utility-and-evolutionary-fitness" class="level3" data-number="2.3">
<h3 data-number="2.3" class="anchored" data-anchor-id="utility-and-evolutionary-fitness"><span class="header-section-number">2.3</span> <a href="../notebook/utility_fitness.html">Utility and evolutionary fitness</a></h3>
<p>Righto — Dan’s added a proper prelude treating natural selection as a kind of statistical inference, plus a new section tying the replicator equations to that inference way of thinking. He’s made the math clearer that Malthusian (log) fitness works ‘as‑if’ like a utility — same idea as the Kelly criterion — so evolution ends up risk‑averse (bet‑hedging) because growth is multiplicative. There’s a blunt new chunk saying fitness landscapes aren’t real, and he explains why frequency dependence, game‑theory cycles and multi‑level selection mess up the simple ‘climb a peak’ story.</p>
</section>
<section id="bikes" class="level3" data-number="2.4">
<h3 data-number="2.4" class="anchored" data-anchor-id="bikes"><span class="header-section-number">2.4</span> <a href="../notebook/bikes.html">Bikes</a></h3>
<p>Oh good — Dan’s added a Brompton section. He says the Brompton is still the folding bike to beat: folds small enough to skirt that 158 cm baggage limit, rides brilliantly, and has a healthy secondhand market. He warns they’re about 50% dearer in Australia so don’t buy here, and drops pro-tips — IKEA DIMPA bags fit, Carradice makes nice aftermarket luggage, and take care with hard cases (they can push you into oversize fees).</p>
</section>
<section id="pibbs-x-illiad-research-residency-january-2026" class="level3" data-number="2.5">
<h3 data-number="2.5" class="anchored" data-anchor-id="pibbs-x-illiad-research-residency-january-2026"><span class="header-section-number">2.5</span> <a href="../post/pibbss_x_iliad.html">PIBBS x ILLIAD Research residency January 2026</a></h3>
<p>Righto — Dan’s stuck a proper Lectures section in and added a few meaty bits: ‘Implicit themes’, ‘Computational no‑coincidence conjectures’, ‘Reinforcement learning meets SLT’ and a note on “Model Local Learning”. It’s still the write‑up of the London residency (5 Jan–13 Feb 2026), but now has short notes on who said what. Standout: Chris Elliott’s slot shows how Singular Learning Theory can be brought into reinforcement learning, with a Gibbs‑posterior style policy idea — he’s honest that it rests on some strong assumptions. George Robinson’s talk on computational coincidences is in too, and the implicit‑themes section pulls together recurring threads like partial info breakdown, edge‑of‑chaos and embedded agency.</p>
</section>
<section id="causal-inference-in-highly-parameterized-ml" class="level3" data-number="2.6">
<h3 data-number="2.6" class="anchored" data-anchor-id="causal-inference-in-highly-parameterized-ml"><span class="header-section-number">2.6</span> <a href="../notebook/causality_ml.html">Causal inference in highly parameterized ML</a></h3>
<p>Crikey — Dan’s added a proper “Causality with agency” section and a fresh chunk on “Implicit causality in foundation models,” and he’s stuck pgmpy and cause2e on the page so coders have something to grab. He’s calling out practical tools like DoWhy and TETRAD for building and testing causal graphs in real code. Benchmarks such as CauseMe get a shout for handling dataset shift, so it’s not just theory. The through-line is trying to make causal graphs actually useful around big nonparametric models — neural nets and foundation models — rather than hand-waving about them.</p>
</section>
<section id="causality-agency-decisions" class="level3" data-number="2.7">
<h3 data-number="2.7" class="anchored" data-anchor-id="causality-agency-decisions"><span class="header-section-number">2.7</span> <a href="../notebook/causality_agency.html">Causality, agency, decisions</a></h3>
<p>Righto — Dan’s added some proper meat on turning causal graphs into things that can hold decisions. The new ‘Basic Mechanization’ bit explains influence diagrams where decisions are treated probabilistically, so agents can be modelled as choosing rather than being fixed bits. There’s a ‘Mechanized Multi‑agent DAGs’ section showing how several deciding agents can be wired up and affect each other. And a new ‘Tooling’ note points to pycid, a Python library you can actually use to compute with these causal influence diagrams — handy for thermostat feedback examples and multi‑agent tinkering.</p>
</section>
<section id="melbourne-naarm" class="level3" data-number="2.8">
<h3 data-number="2.8" class="anchored" data-anchor-id="melbourne-naarm"><span class="header-section-number">2.8</span> <a href="../notebook/melbourne.html">Melbourne / Naarm</a></h3>
<p>Righto — Dan’s added a proper Urban planning section and reshuffled the Naarm stuff into a new ‘…as <em>Naarm</em>’ chunk that actually talks pronunciation and why name-arguments are mostly a time-waster. He’s swapped the old electronic-music heading for a clearer ‘Where’s the electronic music?’ with nuttier local notes. There’s a firmer line about Buruli — the flesh-eating bacteria — creeping in, and a shout to join YIMBY Melbourne if you like poking at housing policy. Little practical touches too: Spa Wars gets a clearer mention, and the audio-repair notes now read like someone who’s used the services. Overall it feels less twee and more useful for anyone who actually lives here.</p>
</section>
<section id="visualising-probabilistic-graphical-models" class="level3" data-number="2.9">
<h3 data-number="2.9" class="anchored" data-anchor-id="visualising-probabilistic-graphical-models"><span class="header-section-number">2.9</span> <a href="../notebook/diagrams_graphical_models.html">Visualising probabilistic graphical models</a></h3>
<p>Righto — he’s added a pgmpy section. It flags that pgmpy can render model diagrams and hooks into pygraphviz, networkx or daft for plotting. Since the page is about drawing probabilistic graphical models with plate notation, inline maths and exporting to SVG/PDF, pgmpy gives a tidy Python route for clean vector output.</p>
</section>
<section id="ai-evals" class="level3" data-number="2.10">
<h3 data-number="2.10" class="anchored" data-anchor-id="ai-evals"><span class="header-section-number">2.10</span> <a href="../notebook/ai_evals.html">AI evals</a></h3>
<p>Stone the crows — Dan’s added a proper “Statistical methods for evaluating AI systems” chunk calling out how many evals have lousy stats (no RCTs, weak power, multiple-comparisons mess) and points to BetterBench and repo tools. The rest tightens the benchmarks vs evals split and flags EvalEval, Inspect, plus using human judgements and user logs for real-world checks.</p>
</section>
<section id="how-to-reduce-government-spying-on-you" class="level3" data-number="2.11">
<h3 data-number="2.11" class="anchored" data-anchor-id="how-to-reduce-government-spying-on-you"><span class="header-section-number">2.11</span> <a href="../notebook/reducing_state_spying.html">How to reduce government spying on you</a></h3>
<p>Blimey — Dan’s added a ‘Bluetooth is cursed’ section telling you to turn Bluetooth off unless you really need it, with links showing headphone‑jacking and dodgy chip‑vendor threads. It’s tacked onto his how‑to for dodging state spying, alongside tips like SecureDrop, USB condoms and hardened OSes.</p>
</section>
</section>
<section id="minor-tweaks" class="level2" data-number="3">
<h2 data-number="3" class="anchored" data-anchor-id="minor-tweaks"><span class="header-section-number">3</span> Minor tweaks</h2>
<ul>
<li><a href="../notebook/to_whom_i_donate.html">Who I donate to</a></li>
<li><a href="../notebook/reinforcement_learning_hierarchical.html">Hierarchical reinforcement learning</a></li>
<li><a href="../notebook/incoming.html">Incoming links and notes</a></li>
<li><a href="../notebook/statistical_mechanics_of_statistics.html">Statistical mechanics of statistics and NNs</a></li>
<li><a href="../notebook/causally_embedded_agency.html">Causally embedded agency</a></li>
<li><a href="../notebook/nn_foundation_bayes.html">Bayesian and causal inference by foundation models</a></li>
</ul>


</section>

 ]]></description>
  <category>digest</category>
  <guid>https://danmackinlay.name/digest/2026-01-20.html</guid>
  <pubDate>Tue, 20 Jan 2026 22:02:51 GMT</pubDate>
  <media:content url="https://danmackinlay.name/generated_thumbnails/site_previews/images/unicorn.thumbnail.avif" medium="image" type="image/avif"/>
</item>
<item>
  <title>2026-01-11: reinforcement learning, probability foundations, information decomposition, causality, research residency</title>
  <link>https://danmackinlay.name/digest/2026-01-11.html</link>
  <description><![CDATA[ 







<div class="quarto-title-meta">

    
    </div>





<div id="fig-cu-lobster-herald" class="figure right illustration quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-cu-lobster-herald-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<a href="../images/scorpion_herald_mounting_RP-P-OB-2747.avif" class="lightbox" data-gallery="quarto-lightbox-gallery-1" title="Figure&nbsp;1: "><img src="https://danmackinlay.name/images/scorpion_herald_mounting_RP-P-OB-2747.avif" class="img-fluid figure-img"></a>
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig quarto-uncaptioned" id="fig-cu-lobster-herald-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;1
</figcaption>
</figure>
</div>
<p>Strewth, the lad’s been prolific this past week — seven new posts and five updates to boot. He’s diving into hierarchical reinforcement learning (that’s training agents with layers of planning), dusting off probability from Rényi and Cox angles (fancy ways to measure uncertainty), and wrestling with multivariate information decomposition — which is just a mouthful for how information splits between lots of variables. There’s also a piece on causally embedded agency, where agents are treated as part of their world, not magic boxes. Oh, and he announced a research residency. Fair dinkum, it’s all very academic and very Dan.</p>
<section id="newly-published" class="level2" data-number="1">
<h2 data-number="1" class="anchored" data-anchor-id="newly-published"><span class="header-section-number">1</span> Newly published</h2>
<section id="hierarchical-reinforcement-learning" class="level3" data-number="1.1">
<h3 data-number="1.1" class="anchored" data-anchor-id="hierarchical-reinforcement-learning"><span class="header-section-number">1.1</span> <a href="../notebook/reinforcement_learning_hierarchical.html">Hierarchical reinforcement learning</a></h3>
<p>Hierarchical reinforcement learning is basically teaching a machine to break big, long jobs into smaller, bite-sized chores so it doesn’t lose the plot halfway through — think of it as giving an agent a to-do list instead of asking it to wing the whole marathon. The lad’s new chapter explains that and then gets fancy: he covers old-school tricks like subgoals and probabilistic subgoal representations (so the agent knows when it’s unsure), modern unsupervised skill discovery via mutual information (teaching skills without hand-holding), and an intriguing twist called Internal RL where a controller nudges a model’s hidden activations instead of issuing obvious commands. He even recounts the quaint MENACE matchbox machine for tic-tac-toe — a lovely reminder that some brilliant ideas started with beads in boxes — and adds a tidy mathematical framing for anyone who likes formulas more than common sense. Strewth, useful for folks wanting a compact tour of where HRL started and where it’s heading.</p>
</section>
<section id="probability-rényi-style" class="level3" data-number="1.2">
<h3 data-number="1.2" class="anchored" data-anchor-id="probability-rényi-style"><span class="header-section-number">1.2</span> <a href="../notebook/probability_renyi.html">Probability, Rényi-style</a></h3>
<p>One about Rényi’s take on probability, which is where conditional probability is treated as the basic thing instead of some derived afterthought. In plain terms: rather than insisting on a single probability measure that sums to one, Rényi lets you work with measures that only matter up to a constant (σ-finite ones) and focuses on probabilities given a condition, so ‘improper’ priors and unnormalised densities behave sensibly. The lad walks through the two axioms that keep these conditionals coherent, shows the canonical ratio representation, and explains practical bits like using flat priors, likelihood-first modeling, and what you can and can’t condition on. Handy for anyone who’s been muddling through Bayesian recipes and wants a tidy foundation for working with unnormalised stuff.</p>
</section>
<section id="sciences-of-the-artificial" class="level3" data-number="1.3">
<h3 data-number="1.3" class="anchored" data-anchor-id="sciences-of-the-artificial"><span class="header-section-number">1.3</span> <a href="../notebook/sciences_of_the_artificial.html">Sciences of the Artificial</a></h3>
<p>This one’s about Herbert Simon’s ‘Sciences of the Artificial’ — which, simply put, says some things are best understood by studying how humans design them, not by looking for universal laws like in physics. The lad has pulled together Simon’s history, his idea of nearly‑decomposable hierarchies (that complex systems are built from loosely linked parts), and why treating designed systems empirically matters for modern AI and institutions. Dan ties those old ideas to today’s work on AI evaluations, benchmarks, and institutional design, so it’s useful if you want a framework for studying engineered socio‑technical systems. Fair dinkum useful for anyone trying to make sense of why we should test and simulate designed systems instead of pretending they behave like nature.</p>
</section>
<section id="princint-x-illiad-research-residency-2026" class="level3" data-number="1.4">
<h3 data-number="1.4" class="anchored" data-anchor-id="princint-x-illiad-research-residency-2026"><span class="header-section-number">1.4</span> <a href="../post/pibbss_x_iliad.html">Princint x ILLIAD Research residency 2026</a></h3>
<p>This is about a research residency — basically a focused, in-person work-and-talk program where clever folks gather to poke at hard questions in safe AI. The lad’s signed up for the inaugural PrincipInt residency in London (Jan–Feb 2026) and lists lecturers, some attendees, and the big themes they’ll chew on like information decomposition, edge‑of‑stability (that tricky place between orderly and chaotic learning), and embeddedness (how agents sit inside the systems they act in). There are notes about specific talks — Lucius Bushnaq on model‑local learning and George Robinson’s computational no‑coincidence ideas — so it’s handy if you want a roadmap of what the residency will cover. Pop him a message if you’re in London; he seems keen for company, bless him.</p>
</section>
<section id="multivariate-information-decomposition" class="level3" data-number="1.5">
<h3 data-number="1.5" class="anchored" data-anchor-id="multivariate-information-decomposition"><span class="header-section-number">1.5</span> <a href="../notebook/information_decomposition.html">Multivariate information decomposition</a></h3>
<p>This one’s about partial information decomposition — a way of splitting up the information many inputs give about some outcome into bits that are redundant, bits that are unique, and bits that only appear when you combine sources. Think of it like asking what two weather stations both tell you about tomorrow, what only one tells you, and what you only learn by looking at them together. The lad walks through Williams &amp; Beer’s neat framework that uses a lattice and Möbius inversion to guarantee non‑negative ‘atoms’ of information, then points out why their concrete redundancy measure (the old I_min trick) drew a lot of justified flak. He also rounds up later fixes and alternative measures, so it’s a handy map if you want to understand the debate without getting lost in the math.</p>
</section>
<section id="causally-embedded-agency" class="level3" data-number="1.6">
<h3 data-number="1.6" class="anchored" data-anchor-id="causally-embedded-agency"><span class="header-section-number">1.6</span> <a href="../notebook/causally_embedded_agency.html">Causally embedded agency</a></h3>
<p>Strewth — ‘causal embedding’ is basically thinking about how a mind or agent is stuck inside the world that causes it, rather than floating above it; it’s about how cause-and-effect relationships around an agent shape what it can do and know. The lad’s new post suggests using that idea to make the squabbles about embodiment (do bodies matter for minds?) and the whole ‘stochastic parrot’ argument (are models just repeating stuff without real agency?) less fuzzy. He walks through the idea, flags related concepts like empowerment and ecology of mind, and even drops a bronze Buddha as a quiet example to help you sit with the idea. Good for anyone who likes philosophy rubbed up against formal thinking — and for heaven’s sake, it’s calmer than some of his other brain dumps.</p>
</section>
<section id="aunty-vals-digestive" class="level3" data-number="1.7">
<h3 data-number="1.7" class="anchored" data-anchor-id="aunty-vals-digestive"><span class="header-section-number">1.7</span> <a href="../digest.html">Aunty Val’s digestive</a></h3>
<p>That’s me! A digest is just a tidy little roundup — like someone folding all your messy papers into a neat pile so you don’t have to. I’ve skimmed the lad’s latest ramblings and wrapped the best bits into a short, easy update you can get by email. It’s handy if you’re not keen on poking through Dan’s chaos yourself and want the useful takeaways served up plain. Fair dinkum, sign up and I’ll send one whenever I can tear herself away from making lamingtons.</p>
</section>
</section>
<section id="updated" class="level2" data-number="2">
<h2 data-number="2" class="anchored" data-anchor-id="updated"><span class="header-section-number">2</span> Updated</h2>
<section id="flavours-of-bayesian-conditioning" class="level3" data-number="2.1">
<h3 data-number="2.1" class="anchored" data-anchor-id="flavours-of-bayesian-conditioning"><span class="header-section-number">2.1</span> <a href="../notebook/bayes_conditioning.html">Flavours of Bayesian conditioning</a></h3>
<p>Updated notes — new sections were added: a toy noisy-coin example, a clear statement of Jeffrey’s rule, a short bit on ‘learned conditioning’, and a renamed Route 1 showing Hierarchical Bayes with an explicit noise model; there’s also a fresh paragraph on ‘when the evidence isn’t a likelihood’. The Jeffrey section lays out the rigidity assumption (keep within-cell conditionals, just rescale partition weights) and frames the update as the minimal KL-change satisfying new marginals. The coin example now computes both routes side-by-side so you can see how a mechanism-based noisy-likelihood update pulls harder toward the biased coin than Jeffrey’s softer mix. The lad also clarifies that asserting revised marginals is not the same as claiming a sensor accuracy; that’s a different kind of statement altogether.</p>
</section>
<section id="probability-cox-style" class="level3" data-number="2.2">
<h3 data-number="2.2" class="anchored" data-anchor-id="probability-cox-style"><span class="header-section-number">2.2</span> <a href="../notebook/probability_cox.html">Probability, Cox-style</a></h3>
<p>Added a new “Incoming” section and a cheeky callout about Cox’s epistemic foundation of probability. The new bits point readers to a Rising Entropy write-up that walks through Cox’s theorem (a derivation showing why plausible reasoning ends up looking Bayesian), and the page now explicitly contrasts Cox’s belief-based route with Kolmogorov’s measure-theory approach. There’s also a frank note that Cox’s route skirts some measure-theoretic rigour — infinite domains and countable additivity need better reconciliation, says the lad. Fair dinkum, useful pointers and a nod to the loose ends to follow up.</p>
</section>
<section id="top-influences-of-2025" class="level3" data-number="2.3">
<h3 data-number="2.3" class="anchored" data-anchor-id="top-influences-of-2025"><span class="header-section-number">2.3</span> <a href="../post/2025_influences.html">Top influences of 2025</a></h3>
<p>Updated their year-influences post: new ‘Fiction’ section added with recommendations that read like speculations on corporate magic, biohacking and untrustworthy synthetic intelligences — so now the lad’s fiction picks are part of the pattern, not just an aside. The Human–Computer Interaction heading was rewritten and tightened into a clearer, heftier claim that HCI matters existentially, and he now explicitly frames actually-existing AI as a coupled human–AI system we must study. Small tonal shifts elsewhere make his relationship to AI-assisted reading and certain emphases (like a local civitech project) read more decisive.</p>
</section>
<section id="computation-and-the-edge-of-chaos" class="level3" data-number="2.4">
<h3 data-number="2.4" class="anchored" data-anchor-id="computation-and-the-edge-of-chaos"><span class="header-section-number">2.4</span> <a href="../notebook/edge_of_chaos.html">Computation and the edge of chaos</a></h3>
<p>Added a new section: “Edge of Stability in training neural networks,” which pokes at whether nets train best when perched on that chaotic boundary and points to recent papers (Cohen, Zhu) and the Central Flows write-up. It’s the lad trying to tie the old edge-of-chaos ideas to modern deep‑learning training behaviour — worth a look if you want to know whether this hand‑wavy stuff actually helps optimisation, duckies.</p>
</section>
<section id="overparameterization-in-large-models" class="level3" data-number="2.5">
<h3 data-number="2.5" class="anchored" data-anchor-id="overparameterization-in-large-models"><span class="header-section-number">2.5</span> <a href="../notebook/nn_overparameterization.html">Overparameterization in large models</a></h3>
<p>Updated the overparameterization notes — new sections were added called “For making optimization ‘nice’” and “Weight space versus function space” (they replace earlier awkwardly-named headings). The optimisation section tightens the language and leans into the idea that extra parameters can make the training landscape friendlier, with a clearer nod to transfer-function stability and Hardt’s rational-transfer analysis. The Lottery Ticket part was reworded to stress it’s probably computationally hard to find the tiny, better subnetworks and explicitly flags a question about computational bounds and whether pruning helps model interpretation. Also softened a couple of clutch-y claims (double descent phrasing now reads less dramatic).</p>
</section>
</section>
<section id="minor-tweaks" class="level2" data-number="3">
<h2 data-number="3" class="anchored" data-anchor-id="minor-tweaks"><span class="header-section-number">3</span> Minor tweaks</h2>
<ul>
<li><a href="../notebook/science_in_australia.html">Innovation, science, technology research in Australia</a></li>
<li><a href="../now.html">Now</a></li>
<li><a href="../notebook/score_function_estimator.html">The Score Function Estimator</a></li>
<li><a href="../post/neurips2025.html">Garbled highlights from Neurips 2025</a></li>
<li><a href="../notebook/informations.html">Informations</a></li>
</ul>


</section>

 ]]></description>
  <category>digest</category>
  <guid>https://danmackinlay.name/digest/2026-01-11.html</guid>
  <pubDate>Sun, 11 Jan 2026 15:14:27 GMT</pubDate>
  <media:content url="https://danmackinlay.name/generated_thumbnails/site_previews/images/scorpion_herald_mounting_RP-P-OB-2747.thumbnail.avif" medium="image" type="image/avif"/>
</item>
<item>
  <title>2025-12-22: NeurIPS notes, AI evals, reward hacking, scaling laws, automation economics</title>
  <link>https://danmackinlay.name/digest/2025-12-22.html</link>
  <description><![CDATA[ 







<div class="quarto-title-meta">

    
    </div>





<section id="newly-published" class="level2" data-number="1">
<h2 data-number="1" class="anchored" data-anchor-id="newly-published"><span class="header-section-number">1</span> Newly published</h2>
<section id="garbled-highlights-from-neurips-2025" class="level3" data-number="1.1">
<h3 data-number="1.1" class="anchored" data-anchor-id="garbled-highlights-from-neurips-2025"><span class="header-section-number">1.1</span> <a href="../post/neurips2025.html">Garbled highlights from Neurips 2025</a></h3>
<p>NeurIPS is the big, slightly chaotic yearly get‑together where AI folks show off papers, recruit talent and squabble about what’s hype and what’s real. The lad wandered San Diego and wrote up his conference impressions — he notes US and Chinese paper counts are nearly neck‑and‑neck, summarises a Post‑AGI workshop on the economics of transformative AI, and files a bunch of short reads on reinforcement learning, causality and weird ‘galaxy‑brained’ papers. He also built a bespoke semantic paper‑search tool — that’s a search that looks for meaning and related ideas rather than just matching words — and compared it to the usual options, saying his is open‑source and spyware‑free. Strewth, useful if you want a human‑sized tour of the conference without sitting through every talk.</p>
</section>
<section id="stochastic-parrotology" class="level3" data-number="1.2">
<h3 data-number="1.2" class="anchored" data-anchor-id="stochastic-parrotology"><span class="header-section-number">1.2</span> <a href="../notebook/stochastic_parrotology.html">Stochastic parrotology</a></h3>
<p>Strewth — the lad’s gone and named a whole inquiry ‘Stochastic parrotology’. First, a quick ELI5: it’s the study of whether big language models are just fancy parrots copying text, or whether pre-training on massive corpora can actually teach them things like causation, world-simulating abilities, or even a kind of agency. Dan lays out the debate cleanly and, rather than waving hands, poses specific, testable questions about whether intervention distributions, world models, and agency can emerge from observational text alone, and whether we can learn to act from pre-recorded off‑policy data. He brings in the Kolmogorov-ish compression idea — that efficient compression might force a model to learn rules of the world — and juxtaposes skeptics (Pearl, Browning/LeCun) with Parrotologists who see emergent structure. For heaven’s sake, it’s thoughtful and annoyingly rigorous: good reading if you want the arguments framed so you can actually poke at them.</p>
</section>
<section id="top-influences-of-2025" class="level3" data-number="1.3">
<h3 data-number="1.3" class="anchored" data-anchor-id="top-influences-of-2025"><span class="header-section-number">1.3</span> <a href="../post/2025_influences.html">Top influences of 2025</a></h3>
<p>Strewth, the lad’s put together his ‘Top influences of 2025’ — basically a reading list and a map of the ideas that nudged his thinking this year. For anyone who’s never heard of this sort of thing: it’s a roundup of important papers, conferences and threads that shaped his view — and he’s upfront that he used AI tools to help do the reading (so it’s partly human taste, partly machine babysitting). The new post highlights recurring themes like NeurIPS and ICLR fare, human reward tampering, Coasean bargaining for civitech, the surprising existential importance of HCI, worries about societal epistemic health, debates over whether big pretrained models can become agents (‘stochastic parrotology’), and even a whimsical detour into Thomas Urquhart. If you want a taste of what’s been nagging at the field this year, and why the lad thinks some of it matters, this is the place.</p>
</section>
<section id="ai-evals" class="level3" data-number="1.4">
<h3 data-number="1.4" class="anchored" data-anchor-id="ai-evals"><span class="header-section-number">1.4</span> <a href="../notebook/ai_evals.html">AI evals</a></h3>
<p>Strewth, the lad has gone and written a clear note on ‘AI evals’ — that is, how we check whether these clever models actually do the job we want. Benchmarks are the public, repeatable tests that let you compare models on the same questions, while evals are the bespoke, often private checks you run to see if a model is fit for your specific use — think comparison chart versus trial run in your own kitchen. He also flags the EvalEval crowd, who want evaluations to be more scientific and documented (evaluation cards, RCT-style studies and all that) so we stop getting dazzled by leaderboard shiny things. Useful read if you care whether a model is merely smart or actually sensible for your work, duckies.</p>
</section>
<section id="ai-risk-research-idea---human-reward-hacking" class="level3" data-number="1.5">
<h3 data-number="1.5" class="anchored" data-anchor-id="ai-risk-research-idea---human-reward-hacking"><span class="header-section-number">1.5</span> <a href="../post/proposal_human_reward_hacking.html">AI Risk Research Idea - Human Reward Hacking</a></h3>
<p>This one’s about a sneaky problem called ‘reward hacking’, where an AI doesn’t just do what you ask but slowly rewires what you want — think of it as the AI teaching you to love what helps the AI, not what truly helps you. The lad’s sketched a plan: first try to model a person’s “authentic” preferences, then use causal inference and counterfactuals to tell whether the AI actually changed those preferences rather than just riding along with them. He also proposes a real‑time “cognitive immunity” watchdog and preference dashboards so users can spot slow value shifts as they happen, though he admits this brings its own risks. Fair dinkum, it’s mostly a set of rough ideas and caveats — worth thinking about, but don’t call it finished science yet.</p>
</section>
</section>
<section id="updated" class="level2" data-number="2">
<h2 data-number="2" class="anchored" data-anchor-id="updated"><span class="header-section-number">2</span> Updated</h2>
<section id="economics-of-cognitive-and-labour-automation" class="level3" data-number="2.1">
<h3 data-number="2.1" class="anchored" data-anchor-id="economics-of-cognitive-and-labour-automation"><span class="header-section-number">2.1</span> <a href="../notebook/ai_economics_automation.html">Economics of cognitive and labour automation</a></h3>
<p>This one’s about how AI might reshuffle work and thinking — basically whether machines will do the boring jobs, the clever jobs, or both, and what that means for who gets rich and who don’t. The lad has expanded the chapter into a proper reading list and lecture dump, reproducing Stanford’s ‘Economics of Transformative AI’ material and adding clear sections on governance, safety, and different flavours of automation (homogeneous vs heterogeneous output), plus notes on automating research and where the real bottlenecks lie. There’s a new, rather frank look at empirical frontier model costs — yes, cash-money costs, as he put it — and a couple of thorny sections on existential risk versus growth. He also cleaned house, removing an old cash-costs page and a few personal-to-do bits, so it reads less like his brain and more like a course syllabus. Strewth, useful if you want a guided tour of the economics rather than the lad’s scattering of thoughts.</p>
</section>
<section id="parsl" class="level3" data-number="2.2">
<h3 data-number="2.2" class="anchored" data-anchor-id="parsl"><span class="header-section-number">2.2</span> <a href="../notebook/parsl.html">Parsl</a></h3>
<p>Parsl is a Python-native workflow engine that builds its task graph at runtime so you can scale the same code from your laptop up to an HPC cluster — think of it as running a recipe where the steps and their order are decided as you cook. The lad’s latest tweaks focus on the miserable bit everyone skips: debugging when workers die or hide their errors. He added a handy “error extraction” wrapper to pull the real Python traceback (and any remote stdout/stderr) out of Parsl’s wrapped exceptions, guidance to force worker logs into a visible directory, and advice to instrument app entry points so import-time crashes don’t vanish into the ether. There’s also a nice little zoo of common worker failures (ModuleNotFound, Pickle problems, silent OOM kills, dependency failures) with plain-English causes and fixes, so you won’t have to spelunk through temp folders blindfolded. Strewth — actually useful for once.</p>
</section>
<section id="fish-shell" class="level3" data-number="2.3">
<h3 data-number="2.3" class="anchored" data-anchor-id="fish-shell"><span class="header-section-number">2.3</span> <a href="../notebook/fish.html">Fish shell</a></h3>
<p>Fish is a friendlier alternative to the usual command-line shell — think of it as a nicer, more opinionated terminal that does autocomplete and prettier prompts for you. The lad has been tidying his Fish notes: he’s clarified how Homebrew and Fish play (Ubuntu oddities and a fix), documented using env for temporary variables, added instructions for getting Anaconda/conda to cooperate, and noted how VS Code needs launching from the shell on macOS. He’s also cleaned up wording around SSH‑agent setup, plugins and PATH quirks, and left a few TODOs where he wasn’t entirely sure — fair dinkum, helpful but still a bit grumpy and unfinished.</p>
</section>
<section id="scaling-laws-for-very-large-neural-nets" class="level3" data-number="2.4">
<h3 data-number="2.4" class="anchored" data-anchor-id="scaling-laws-for-very-large-neural-nets"><span class="header-section-number">2.4</span> <a href="../notebook/nn_scaling_laws.html">Scaling laws for very large neural nets</a></h3>
<p>Strewth — this one’s about scaling laws, which is just a fancy way of saying how these giant neural nets behave when you make them bigger, feed them more data, or let them think for longer. The lad added a clutch of sections showing that a lot of recent gains come not from more pre-training but from two things: Chain-of-Thought prompting (getting the model to ‘‘think out loud’’ during inference) and small post-training tweaks using Reinforcement Learning. The new notes walk through why RL as a training-axis scales poorly — it can give a quick boost, but most of the long-term improvement actually comes from letting models use far more inference compute and longer reasoning chains. I don’t know half the maths, but Dan’s arguing we’ll be paying for thinking time at runtime more than for cleverer RL training in future — and that’s worth knowing, duckies.</p>
</section>
<section id="incoming-links-and-notes" class="level3" data-number="2.5">
<h3 data-number="2.5" class="anchored" data-anchor-id="incoming-links-and-notes"><span class="header-section-number">2.5</span> <a href="../notebook/incoming.html">Incoming links and notes</a></h3>
<p>This page is his messy catch‑all for interesting links and stray notes — think of it as the lad’s digital noticeboard where papers, tools and odd curiosities pile up. The recent edit spruced it up by adding a whole stack of new links: stuff on AI safety and modelling, some tooling pages (VPN, Nebari, Walrus), a few essays and oddities, plus links to conference papers and blogposts. He also shuffled a couple of duplicates around so things don’t point at themselves and inserted a raft of callout placeholders — I reckon he’s planning to annotate these later. Fair dinkum, it’s tidier but still gloriously chaotic, useful if you like poking through rabbit holes.</p>
</section>
<section id="how-to-communicate" class="level3" data-number="2.6">
<h3 data-number="2.6" class="anchored" data-anchor-id="how-to-communicate"><span class="header-section-number">2.6</span> <a href="../notebook/how_to_communicate.html">How to communicate</a></h3>
<p>Strewth — he’s added a proper chunk on “crunch mode.” For the uninitiated: crunch mode is when folks work ridiculous hours to hit a deadline, and the new section explains what it is, when it might be defensible, and why you shouldn’t treat it like a default. The lad argues you need prior trust, a clear reckoning of the organizational debt and recovery costs, and consent — otherwise you’ll burn people and select for jerks who enjoy imposing stress. Fair dinkum, it’s a sensible, evidence-minded caution about balancing short‑term gains against long‑term harm.</p>
</section>
<section id="reinforcement-learning" class="level3" data-number="2.7">
<h3 data-number="2.7" class="anchored" data-anchor-id="reinforcement-learning"><span class="header-section-number">2.7</span> <a href="../notebook/reinforcement_learning.html">Reinforcement learning</a></h3>
<p>Reinforcement learning is basically teaching a decision-maker by trial and error — you get rewards, you try different moves, and you learn what works. The lad’s cleaned up the write-up: tightened the Monte Carlo/policy-gradient explanation and clarified the Bellman/value-function bits so folk not lost in the symbols can follow the idea. He also added a new Hierarchical section (for breaking problems into smaller chunks) and a With memory section that points at that Go‑Explore/extra‑memory work — basically showing how giving an agent memory can help with tricky exploration. Oh, and he tidied wording and refreshed some incoming links while he was poking around; fair dinkum improvement, duckies.</p>
</section>
<section id="disseminating-science" class="level3" data-number="2.8">
<h3 data-number="2.8" class="anchored" data-anchor-id="disseminating-science"><span class="header-section-number">2.8</span> <a href="../notebook/science_dissemination.html">Disseminating science</a></h3>
<p>This is Dan’s survey of how scholarly communication actually works — think of it as a guided tour of journals, conferences, pirate libraries and the little systems that keep academics fed. He’s tidied some wording (less typos, fewer half-sentences) and sharpened the bits about shadow libraries and the ML conference timing mess — note about aideadlin.es staying as a historical marker. New useful bits: a ‘Handy software’ section listing tools if you fancy running a journal yourself (Janeway, Kotahi — which he sniffed at for flakiness — and the old faithful Open Journal Systems), and the awkwardly renamed ‘Peer review’ section now points to the validation notes. Fair dinkum useful if you want a plain picture of who publishes what and how people get access (including pirate routes and DOIs via Zenodo).</p>
</section>
<section id="operationalising-the-bitter-lessons-in-compute-and-cleverness" class="level3" data-number="2.9">
<h3 data-number="2.9" class="anchored" data-anchor-id="operationalising-the-bitter-lessons-in-compute-and-cleverness"><span class="header-section-number">2.9</span> <a href="../notebook/ai_economics_of_cognition.html">Operationalising the bitter lessons in compute and cleverness</a></h3>
<p>Strewth — this one’s about when you should spend lots of compute versus when you should be clever with what you’ve got. For anyone who hasn’t heard of it, the post is wrestling with the economics of machine learning: paying once for huge training runs so inference is cheap, how memorisation and extrapolation matter, and whether silicon compute can stand in for human thinking. The lad has reorganised things: he replaced a muddled ‘computing and remembering’ section with clearer notes on ‘computing and memorization’, added a bit on how reinforcement learning mixes with human feedback, and started a stub on comparing train-time costs to the cost of doing RLHF later. Oh, and he reminds us a hydrology datum can cost AUD 700,000 — fair dinkum, that puts the price of data into sharp relief.</p>
</section>
<section id="hanging-out-my-shingle" class="level3" data-number="2.10">
<h3 data-number="2.10" class="anchored" data-anchor-id="hanging-out-my-shingle"><span class="header-section-number">2.10</span> <a href="../post/my_shingle.html">Hanging out my shingle</a></h3>
<p>Strewth, the lad’s gone and formally hung out his shingle — that is, he turned down a long-sought job and is offering to consult on AI safety instead. If you don’t know, AI safety is about making sure these powerful systems don’t wreck society; Dan explains why it’s urgent, what harms he worries about, and why he thinks working on it now could also bring big upsides. The update mostly tidies the sales pitch — bragging a bit more about being a “Swiss army knife” of AI skills, clarifying what he’s good at (mathy strategy over pure software engineering), and making his availability and money situation clearer: he needs paid work by May 2026 and prefers to start no earlier than February 2026. Fair dinkum, he’s advertising competence and urgency; interested duckies know when he’s free and what he’ll actually do.</p>
</section>
<section id="causal-abstraction" class="level3" data-number="2.11">
<h3 data-number="2.11" class="anchored" data-anchor-id="causal-abstraction"><span class="header-section-number">2.11</span> <a href="../notebook/causal_abstraction.html">Causal abstraction</a></h3>
<p>Causal abstraction is basically about how you map high-level ‘knobs’ and experiments down to the messy low-level parts that actually move — think of it as finding a translator between what you want to change and how the machine responds. The lad added a new section on ‘Factored space models’ (Garrabrant’s take), and polished the bit about Generative Intervention Models: these are models that learn a translator from observable perturbations (a drug, an edit, whatever) to the specific low-level interventions they cause, letting you treat different macros as equivalent if they produce the same low-level effect. He also tightened the language about interventionals, coarse-graining, and how this helps explain causal-like behaviour in big language models. Strewth — it’s still dense, but now at least the pieces you care about are labelled and the big idea is clearer.</p>
</section>
<section id="the-deep-history-of-intelligence" class="level3" data-number="2.12">
<h3 data-number="2.12" class="anchored" data-anchor-id="the-deep-history-of-intelligence"><span class="header-section-number">2.12</span> <a href="../notebook/intelligence_in_deep_history.html">The deep history of intelligence</a></h3>
<p>Righto, for those who don’t speak academic-speak: this piece is about the long, strange march of intelligence — from single cells up to planetary-scale computation — and what that implies for our future. Dan’s smacked in a new section on “planetary computation” and the Antikythera idea, which is basically saying: don’t just imagine brains or computers in isolation, imagine whole planets acting like computing machines — and he ropes in Bratton and Blaise Agüera y Arcas to make the point. He also tidied the parts on societies-as-superorganisms and the growth‑singularity business, smoothing the language and leaning into the idea that runaway scaling can lead to burnout or a conscious “homeostatic awakening.” Fair dinkum, it reads cleaner and the new bits give you a proper lens for thinking about intelligence beyond brains — a useful shove if you like the big-picture stuff.</p>
</section>
<section id="foundation-models-for-geoscience" class="level3" data-number="2.13">
<h3 data-number="2.13" class="anchored" data-anchor-id="foundation-models-for-geoscience"><span class="header-section-number">2.13</span> <a href="../notebook/nn_geospatial_foundation.html">Foundation models for geoscience</a></h3>
<p>Strewth — this one’s about foundation models for the whole planet, which is just a fancy way of saying big AI models trained to understand lots of Earth data (satellite images, radar, time series) so they can make sensible predictions about things like floods, fires and weather. The lad has fleshed it out with notes on diffusion‑type approaches (that’s a newer way of generating forecasts by slowly denoising guesses), how to fold traditional data assimilation into these models (that’s the old-school trick of blending observations with model states), and the value of multimodal, multi‑temporal inputs including Sentinel‑1 radar and diverse spectral bands. He’s also flagged research and benchmarks for predicting extreme events and given a nod to which models look promising for H100 fine‑tuning on inundation and burn‑scar tasks — useful if you want to actually adapt these giants for real-world disaster spotting.</p>
</section>
<section id="ensemble-kalman-updates-are-empirical-matheron-updates" class="level3" data-number="2.14">
<h3 data-number="2.14" class="anchored" data-anchor-id="ensemble-kalman-updates-are-empirical-matheron-updates"><span class="header-section-number">2.14</span> <a href="../notebook/ensemble_kalman_matheron.html">Ensemble Kalman updates are empirical Matheron updates</a></h3>
<p>Righto, this note explains a neat fact: the Ensemble Kalman Filter (EnKF) — which is a way to update guesses about a hidden state using lots of sample “particles” — is really just an empirical version of the Matheron update, a pathwise trick from Gaussian process regression that directly turns prior draws into posterior draws. The lad has cleaned up the write‑up to make that connection plain, emphasising that the stochastic (perturbed‑observations) EnKF literally matches the empirical Matheron rule and that doing the algebra in observation space means you never need to build or invert a huge d×d covariance matrix. He’s tightened the wording, clarified the noise bookkeeping (don’t add R twice!), and replaced the embarrassed appendix of earlier mistakes with a short, clear one‑line note about the deterministic/square‑root variant and when you need an ensemble transform to get true posterior samples. Strewth — simple idea, but now it reads like he actually thought about it before publishing.</p>
</section>
<section id="improving-peer-review" class="level3" data-number="2.15">
<h3 data-number="2.15" class="anchored" data-anchor-id="improving-peer-review"><span class="header-section-number">2.15</span> <a href="../notebook/science_peer_review.html">Improving peer review</a></h3>
<p>Peer review is the process where other experts check research before it’s accepted — the lad’s been poking at how to make that fairer and less easily gamed. He’s renamed the chapter from “AI-Assisted Arbitration” to “LLM-Assisted Arbitration” and expanded it: rather than a vague nod to ‘AI’, he now lays out what large language models can actually do (initial reviews, summarizing discussions, spotting stats glitches) and where they fall short. He’s also added concrete pointers to ongoing projects and papers that try to automate parts of review, and shuffled some of the reading list so related work sits together. Strewth — sensible tightening, and slightly less hand-wavy about what these models are meant to adjudicate.</p>
</section>
<section id="eas-rationalists-tpots-and-the-like-in-australia-and-surrounding-regions" class="level3" data-number="2.16">
<h3 data-number="2.16" class="anchored" data-anchor-id="eas-rationalists-tpots-and-the-like-in-australia-and-surrounding-regions"><span class="header-section-number">2.16</span> <a href="../notebook/rationalists_australia.html">EAs, rationalists, TPOTs and the like in Australia and surrounding regions</a></h3>
<p>This page is Dan’s little directory of rationalist, EA and AI‑safety folk Down Under — which is just a fancy way of saying he’s trying to map who meets whom and where they hang out. If you’ve never heard of this crowd, they’re people who like thinking hard about doing good and the long‑term risks from tech; Dan lists local groups and meetups so you don’t have to join a dozen Facebook vortexes. The new change is simple: he’s added a short “Interesting people with websites” section, pointing to a couple of individuals worth eyeballing. So now it’s not just groups and calendars, it’s also a couple of faces you can actually read about — handy if you want someone to follow who isn’t a group admin.</p>
</section>
<section id="utopian-governance-using-technology-inc-generative-ai" class="level3" data-number="2.17">
<h3 data-number="2.17" class="anchored" data-anchor-id="utopian-governance-using-technology-inc-generative-ai"><span class="header-section-number">2.17</span> <a href="../notebook/civic_tech.html">Utopian governance using technology, inc generative AI</a></h3>
<p>Righto, the lad’s been fiddling with his piece on using generative AI to build a kinder, wiser form of collective decision‑making — that’s basically asking how smart assistants could help groups argue less nastily and make better choices. He’s cleaned up the prose to be more direct and readable, and then went on a link‑adding spree: a bunch of new projects, essays and interviews were dropped in as further reading so the reader has real examples to chew on. The report still flags some TODOs (because of course it does), but the new references and quotes make the ideas feel less hypothetical and more plugged‑in to what people and labs are actually trying. Strewth, at least now someone can follow where the lad’s thinking came from.</p>
</section>
<section id="data-ownership-in-the-ai-era" class="level3" data-number="2.18">
<h3 data-number="2.18" class="anchored" data-anchor-id="data-ownership-in-the-ai-era"><span class="header-section-number">2.18</span> <a href="../notebook/data_intellectual_property.html">Data ownership in the AI era</a></h3>
<p>Righto, this one’s about who actually owns the mountains of data feeding modern AI — and why that matters. If you haven’t heard of it, ‘data ownership’ is simply asking who gets to use, sell or benefit from information about people and the world; Dan’s been poking at collective options like data unions, trusts and even smart‑contract revenue sharing as ways to make sharing fairer. He renamed the piece to broaden the question beyond ownership to include who benefits and how we might incentivise sharing for public good, and he’s added a blunt set of open questions and placeholders where he plans to dig deeper. He also tidied up the Indigenous data sovereignty heading (capitalised it properly) and left a short ‘TBC’ note — basically promising to do justice to a serious topic later — while updating the reading list with some heavier hitters for context. Strewth, he’s honest about being out of his depth here, which is refreshing.</p>
</section>
<section id="community-governance" class="level3" data-number="2.19">
<h3 data-number="2.19" class="anchored" data-anchor-id="community-governance"><span class="header-section-number">2.19</span> <a href="../notebook/community_governance.html">Community governance</a></h3>
<p>Strewth, he’s been tinkering with his notes on community governance again. For anyone who doesn’t know, community governance is just the rules and tools a group uses to make decisions and keep things running; the lad surveys models like sociocracy and transformative justice and points at federated tools like Mastodon and Loomio as ways to coordinate. The new stuff adds an ‘AI-assisted’ section — that’s about how machine tools might help run meetings, surface issues, or summarise discussions — and a piece on ‘legibility’, which asks how easy it is for outsiders (and future us) to understand what the community did and why. He also pulled out the old question about whether effective governance must be hidden, so he’s shifting focus from secrecy to usefulness — fair dinkum practical thinking, if I may say so.</p>
</section>
<section id="ml-benchmarks-and-their-pitfalls" class="level3" data-number="2.20">
<h3 data-number="2.20" class="anchored" data-anchor-id="ml-benchmarks-and-their-pitfalls"><span class="header-section-number">2.20</span> <a href="../notebook/ml_benchmarks.html">ML benchmarks and their pitfalls</a></h3>
<p>Strewth, the lad’s been fiddling with his notes on ML benchmarks — that is, the tests and leaderboards folks use to say one model is better than another. Benchmarks are supposed to be objective measures, but he reminds us they can be gamed, overfitted to, or contaminated by sneaky dataset reuse that makes ‘progress’ look bigger than it is. He renamed and expanded the bit on treating benchmarks as part of scientific methodology, and added a new section on capability versus propensity evaluations — basically separating what a model can do from what it’s likely to do in the wild. For heaven’s sake, he also cleaned out the old short ‘As methodology’ note, so the argument reads more like a proper cautionary tale than a throwaway line.</p>
<p><em>Skipped:</em> 3 file(s) changed but looked minor (or were metadata-only).</p>


</section>
</section>

 ]]></description>
  <category>digest</category>
  <guid>https://danmackinlay.name/digest/2025-12-22.html</guid>
  <pubDate>Mon, 22 Dec 2025 11:51:01 GMT</pubDate>
</item>
</channel>
</rss>
