<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href="/pretty-feed-v3.xsl" type="text/xsl"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>lyonheart</title>
        <link>https://lyonhe.art</link>
        <description>personal site of artist, composer, and technologist Matthew Lyon</description>
        <lastBuildDate>Fri, 03 Apr 2026 21:06:27 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>Volcanic</generator>
        <language>en</language>
        <copyright>All rights reserved 2026, Matthew Lyon</copyright>
        <atom:link href="https://lyonhe.art/index.xml" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[Links, April 3, 2026]]></title>
            <link>https://lyonhe.art/links/2026-04-03</link>
            <guid>https://lyonhe.art/links/2026-04-03</guid>
            <pubDate>Fri, 03 Apr 2026 07:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<page-info></page-info>
<section><h3><a href="https://sadoeuphemist.tumblr.com/post/615521935528460288/a-scorpion-not-knowing-how-to-swim-asked-a-frog">on the scorption and frog</a></h3>
<p>on tumblr, of all places, several iterations of <a href="https://en.wikipedia.org/wiki/The_Scorpion_and_the_Frog">the scorpion and the frog</a> parable, which go to some unexpected places:</p>
<blockquote>
<p>The frog paused in the middle of the river, treading water. “So, I suppose we’re at an impasse.”</p>
<p>The river rushed around them. The scorpion’s stinger twitched against the frog’s unbroken skin. “I suppose so,” the scorpion said.</p>
</blockquote>
<h3><a href="https://shmuplations.com/itoimiyamoto/">Shigeru Miyamoto x Shigesato Itoi (1989)</a></h3>
<p>A wonderful interview from 37 years ago with <a href="https://en.wikipedia.org/wiki/Shigeru_Miyamoto">two</a> <a href="https://en.wikipedia.org/wiki/Shigesato_Itoi">legends</a>, on video games, realism, wonder, and the nature of childhood versus adulthood, and the value of following one’s creative compass rather than pandering to study groups:</p>
<blockquote>
<p><strong>Miyamoto:</strong> Right now, all else being equal in terms of fun, the games that sell are usually the grand, large-scale RPGs with sprawling stories and worlds… games that take a long time to play through. But personally, I prefer games you can finish quickly. I think they have a much better chance of reaching a wider audience. Everyone is so focused on “long-play” games because they think that’s what sells, but then something like Tetris comes along and just blows everyone away.</p>
</blockquote>
<h3><a href="https://pontus.granstrom.me/scrappy/">Scrappy</a></h3>
<p>An experimental local-first webapp creation environment:</p>
<blockquote>
<p>We ended up creating a research prototype that we call <strong>Scrappy</strong> — a tool for making <strong>scrappy apps for just you and your friends.</strong> First and foremost, we aim to contribute a <em>vision</em> of what home-made software could be like. We want to make this vision as concrete as we can, by sharing a working tool and examples of apps made in it</p>
</blockquote>
<h3><a href="https://tarakiyee.com/on-the-enshittification-of-audre-lorde-the-masters-tools-in-tech-discourse/">On The Enshittification of Audre Lorde: “The Master’s Tools” in Tech Discourse</a></h3>
<p>A great essay that illustrates nicely why I tend to be skeptical of Cory Doctorow:</p>
<blockquote>
<p> I first encountered this weird argument on a Mastodon thread years ago, and it never sat right with me. It would be a defensible claim if that was the argument Audre Lorde was making in the first place. Something strange happens in that paragraph, something worth sitting with: a writer invoking a Black lesbian feminist theorist in order to dismiss an argument about tech platforms, which she never made. The phrase has been borrowed, stripped of its roots, and sent out to do labour it was never meant to do. And in the act of rebutting a meme, Doctorow becomes part of the meme’s problem.</p>
</blockquote>
<h3><a href="https://everythingchanges.us/blog/mouthwords/">Mouthwords</a></h3>
<p><a href="/search/?q=mandy+brown">Again</a>, if Mandy Brown wrote it, you should read it:</p>
<blockquote>
<p>We need to see the advent of workslop in the context of the technological aims of the last several decades, one of which has been to obfuscate the human labor involved in everything from driving to cooking to gathering</p>
</blockquote>
<h3><a href="https://matthiasott.com/notes/the-shape-of-friction">The Shape of Friction</a></h3>
<p>On why making things “easy” is sometimes counterproductive:</p>
<blockquote>
<p>When someone on your team pushes back, that resistance carries weight precisely <em>because</em> they have context you don’t have. They’ve built things that broke. They’ve watched users struggle with the last version. They remember the architectural decision from six months ago that makes your clever idea a nightmare to implement. That friction isn’t making the work worse. That friction is the point.</p>
</blockquote>
<h3><a href="https://jneen.ca/posts/2026-03-27-how-to-make-programming-terrible-for-everyone">how to make programming terrible for everyone</a></h3>
<p>On programming languages, mental models, and usability:</p>
<blockquote>
<p>The lack of a clear mental model leads to the so-called <a href="https://en.wikipedia.org/wiki/ELIZA_effect" title="Wikipedia: ELIZA effect">ELIZA effect</a>: a user’s tendency to project all kinds of intellectual capabilities onto a computer system, in the same way my cats might think that I have magical powers when I turn the lights on and off or summon meat from the refrigerator.</p>
</blockquote>
<h3><a href="https://blog.thereallo.dev/blog/decompiling-the-white-house-app">I Decompiled the White House’s New App</a></h3>
<p>Among other things,</p>
<blockquote>
<p>An official United States government app is injecting CSS and JavaScript into third-party websites to strip away their cookie consent dialogs, GDPR banners, login gates, and paywalls.</p>
</blockquote></section>]]></content:encoded>
            <author>&amp;lt;matthew@lyonhe.art&amp;gt; (Matthew Lyon)</author>
        </item>
        <item>
            <title><![CDATA[Links, March 20, 2026]]></title>
            <link>https://lyonhe.art/links/2026-03-20</link>
            <guid>https://lyonhe.art/links/2026-03-20</guid>
            <pubDate>Fri, 20 Mar 2026 07:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<page-info></page-info>
<section><h3><a href="https://www.ianbetteridge.com/zen-fascist-wi/">Zen fascists will control you…</a></h3>
<p>An essay that touches on both the granola-to-fascist pipeline that we saw emerge during early COVID, the self-help complex, and the nature of therapy. This is a hard one to summarize, but I think its lead-in sells it:</p>
<blockquote>
<p>In 1979, a punk band from San Francisco recorded a song about the Governor of California. It was a joke, mostly. Jerry Brown was a Democrat, a Buddhist, a man who dated Linda Ronstadt and discussed limits and simplicity at a moment when America was in no mood for either. </p>
<p>The Dead Kennedys called him a “Zen fascist” and suggested, with cheerful malice, that he would one day run concentration camps fuelled by organic food. I’m not sure that anyway, even the band, took it entirely seriously.</p>
<p>They should have.</p>
</blockquote>
<h3><a href="https://codeberg.org/robida/human.json">The <code>human.json</code> Protocol</a></h3>
<blockquote>
<p><code>human.json</code> is a lightweight protocol for humans to assert authorship of their site content and vouch for the humanity of others. It uses URL ownership as identity, and trust propagates through a crawlable web of vouches between sites.</p>
</blockquote>
<p>I’ve <a href="/human.json">added one</a> here.</p>
<h3><a href="https://www.404media.co/mapping-googles-unmappable-city/">Mapping Google’s Unmappable City</a></h3>
<p><a href="https://404media.com">404 Media</a> on the only city in the US not on Google Street View:</p>
<blockquote>
<p>In North Oaks, homeowners’ property extends into the middle of the street, meaning there is literally no “public” property in the city, and the roads are maintained by the North Oaks Homeowners’ Association</p>
</blockquote>
<p>and a delicious workaround:</p>
<blockquote>
<p>The national airspace is technically managed by the Federal Aviation Administration, and “airspace” starts directly above the ground,</p>
</blockquote>
<h2>Software Sucks, Programming Sucks, and So Do Computers</h2>
<h3><a href="https://lapcatsoftware.com/articles/2026/3/5.html">If computers are the future, why are computer users expected to be permanently illiterate?</a></h3>
<p>I have run into the issue at the heart of this piece in my work so many times I’ve lost count:</p>
<blockquote>
<p>We’re told constantly that computers are the future, both the future of work and the future of personal efficiency, yet the computer vendors seem intent on keeping users in a state of permanent illiteracy. The term “power user” has become almost a slur, as if power users were abnormal in some way rather than simply possessing knowledge about computers, a normal consequence of experience with computers… unless the computers provide no room for personal growth. It’s alleged that power users make unreasonable demands on the computer vendors, demands that if satisfied would ruin the computing world for everyone else.</p>
</blockquote>
<p>If you want to provide people with tools for learning, it is not unreasonable to ask them to learn a bit about working with the tool. There is a sentiment I’ve fought against a lot, which I’d summarize as <em>if an interface is too complicated to make in <a href="https://getbootstrap.com">Bootstrap</a>, no one will be able to figure it out.</em> We may as well confine our vocabulary to a third-grade level, our music to the pentatonic scale, and get our power tools from <a href="https://www.fisher-price.com/">Fisher-Price</a>.</p>
<p>The thing about “easy to use” is that it’s relative to expectations, and it seems the expectations anymore are that rather than empowering people to use the computer to its fullest, we’re instead supposed to <em>dis</em>-empower them via chatbots and “product manager knows best” limitations.</p>
<h3><a href="https://thatshubham.com/blog/news-audit">The 49MB Web Page</a></h3>
<p>An explanation of what happens when you load a web page on a leading newspaper’s website:</p>
<blockquote>
<p>Before the user finishes reading the headline, the browser is forced to process dozens of concurrent bidding requests to exchanges like Rubicon Project (fastlane.json) and Amazon Ad Systems. While these requests are asynchronous over the network, their payloads are incredibly hostile to the browser’s main thread. To facilitate this, the browser must download, parse and compile megabytes of JS.</p>
</blockquote>
<p>Running ad adblocker is the moderate position at this point. I wouldn’t be surprised to see browser extensions which return <a href="https://en.wikipedia.org/wiki/Zip_bomb">zipbombs</a> to sites like this before long.</p>
<h3><a href="https://catskull.net/you-and-your-spinner-can-go-to-hell.html">You and Your Spinner Can Go to Hell</a></h3>
<p>on that note:</p>
<blockquote>
<p>So, the goal became “nice numbers from Google” and not “nice user interface”. Over time, as people correctly applied good UX research to their designs, the <a href="https://en.wikipedia.org/wiki/Cargo_cult">cargo cult↗</a>effect became “show a spinner, because good apps use a lot of spinners”. Somewhere along the line we lost sight of what we’re actually trying to do.</p>
</blockquote>
<h3><a href="https://andrewmurphy.io/blog/if-you-thought-the-speed-of-writing-code-was-your-problem-you-have-bigger-problems">If you thought the speed of writing code was your problem - you have bigger problems</a></h3>
<p>A bit about the many problems with the software development process these days:</p>
<blockquote>
<p>Your PM hasn’t talked to a real user in two months. Your requirements arrive as a Jira ticket with three sentences and a Figma link to a design that was approved by someone who’s never used the product. Your engineers are making fifty micro-decisions a day about behaviour, edge cases, and error handling that nobody specified, because nobody thought about them.</p>
<p>And they’re <em>guessing</em>.</p>
</blockquote>
<h3><a href="https://www.stilldrinking.org/programming-sucks">Programming Sucks</a></h3>
<p>The previous link reminded me of this classic, which I haven’t shared here yet:</p>
<blockquote>
<p>This file is Good Code. It has sensible and consistent names for functions and variables. It’s concise. It doesn’t do anything obviously stupid. It has never had to live in the wild, or answer to a sales team. It does exactly one, mundane, specific thing, and it does it well. It was written by a single person, and never touched by another. It reads like poetry written by someone over thirty.</p>
</blockquote>
<h3><a href="https://www.terrygodier.com/the-last-quiet-thing">The Last Quiet Thing</a></h3>
<p>On the invisible labor of managing our technology.</p>
<blockquote>
<p>The problem was never how many things you own. The problem is that <em>owning</em> means something it never used to. Everything you buy is the beginning of a relationship you’ll be maintaining until one of you dies or gets discontinued.</p>
</blockquote>
<p>Personally I went for the <a href="https://www.terrygodier.com/the-last-quiet-thing/ascii">plain text version</a>, because the scrolling animations were a bit much.</p>
<h3><a href="https://shkspr.mobi/blog/2026/03/im-ok-being-left-behind-thanks/">I’m OK being left behind, thanks!</a></h3>
<p>I stopped being an early adopter when it became apparent to me that the things pushed towards early adopters were mostly scams.</p>
<blockquote>
<p>“You don’t want to get left behind, do you?” They countered.</p>
<p>That struck me as a bizarre sentiment. What is there to be left behind <em>from</em>? If BitCoin (or whatever) is going to liberate us all from economic drudgery, what’s the point of “getting in early”? It’ll still be there tomorrow and I can join the journey whenever it is sensible for me.</p>
<p>Part of the crypto grift was telling people to “<a href="https://www.coingecko.com/learn/hfsp-in-crypto">Have Fun Staying Poor</a>”. That weaponisation of FOMO was an insidious way to get people to drop their scepticism.</p>
</blockquote>
<p>I fell for a few mail-order scams as a teenager; you learn to recognize the signs.</p>
<h2>And AI is a Fascist Project</h2>
<h3><a href="https://disjunctionsmag.com/articles/ends-of-ai/">The Ends of AI</a></h3>
<p>This piece starts talking about the <a href="https://en.wikipedia.org/wiki/Chatbot_psychosis">Chatbot psychosis</a> phenomenon and then gets to the heart of it:</p>
<blockquote>
<p>Part of the long arc of the Oligarchs’ political project has been exactly this: to individuate — to make your relationship be with the platform itself; these days, via an unwitting stream-of-consciousness testimonial that the user engages in with a chatbot.</p>
</blockquote>
<blockquote>
<p>The bigger AI project asks that you abandon meaning and feeling, to believe in a neutral, objective, all-knowing source built from massively large datasets hosted in hyperscale data centres. AI asks that you buy into the idea that more data means being closer to The Truth. It means that you should want to offload your limited cognition to the super machine. And perhaps most dangerously — that you understand all of this as a scientific endeavour.</p>
</blockquote>
<h3><a href="https://ohhelloana.blog/overthinking-ai/">Overthinking AI</a></h3>
<p>If your argument in favor of something requires you to set aside your ethics or your morals, then you don’t have ethics or morals.</p>
<blockquote>
<p>They (and so am I) are disgusted by the lack of ethics, environmental consequences, the horrible uses of AI on the daily, horrible companies, horrible people. And we are looking around and everyone else is eating it up and enjoying it. This is the tipping point. And I get that.</p>
</blockquote></section>]]></content:encoded>
            <author>&amp;lt;matthew@lyonhe.art&amp;gt; (Matthew Lyon)</author>
        </item>
        <item>
            <title><![CDATA[A Sum of Errors]]></title>
            <link>https://lyonhe.art/a-sum-of-errors</link>
            <guid>https://lyonhe.art/a-sum-of-errors</guid>
            <pubDate>Mon, 16 Mar 2026 07:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<page-info></page-info>
<section><p>Some years ago I had an interaction with my manager that went like this:</p>
<blockquote>
<p><strong>manager></strong> Hey, there’s something wrong with the numbers coming out of your metrics system?</p>
<p><strong>me></strong> unlikely, but not impossible – what’s up?</p>
<p><strong>manager></strong> I’m looking at this report – all of the averages by category are correct, but the averages for the total are wrong – here, check this out
[screenshot of a PDF produced by another team’s system consuming my system’s data]</p>
<p><strong>me></strong> Those are using literally the same underlying math – my guess is [the other team] messed up their queries. I’ll get to the bottom of it.</p>
</blockquote>
<p>And then, two days later, in the group chat:</p>
<blockquote>
<p><strong>me></strong> So, here’s why we’re introducing a number type which doesn’t allow addition:</p>
</blockquote>
<p>A number is a number right? 3 is a number, π is a number, a billion is a number. What are things we can do with numbers? Add them, subtract them, multiply them, divide them? Well zero is a number, right? Yet, you can’t divide something by zero. In the context of division, you might say that all real numbers are potential dividends which can be divided by potential divisors, which are all real numbers excluding zero.</p>
<p>Computers encourage us to think of things as numbers. There are a variety of reasons for this: numbers are efficient to store and work with, and many concepts from timestamps to unique IDs can be represented as numbers. <code>1773628147.944</code> in the context of <em>“number of seconds since Jan 1, 1970”</em> is a way of representing the current time, and when I type <code>uuidgen</code> in my computer’s terminal and get <code>08e0532f-0863-4c06-b24b-5ef53aab2933</code>; a 128-bit hexadecimal number so big many environments require a special library to work with it for arithmetic purposes. Computer touchers are used to numbers of all sorts, but that familiarity is sometimes dangerous.</p>
<p>When you represent a timestamp as a number, there are certain arithmetic operations that make sense and others that don’t. What does it mean to add, multiply, or divide two timestamps? While you <em>can</em> add <code>507343153</code> and <code>1000213980</code> to get <code>1507557133</code>, in the context of <em>the number of seconds since Jan 1, 1970</em> this is entirely meaningless. These are pointless operations.</p>
<p>Yet, subtracting one timestamp from another gives us a number of seconds between the two, a <em>duration</em>, per-se, and you can then add, multiply, or divide <em>that</em>. <em>Subtracting</em> the above timestamps yields <code>492870827</code> seconds, about 136,908 hours, or a bit over fifteen and a half years.</p>
<p>We can operate on numbers based on the <em>context</em> in which they hold meaning, and this is something that is generally intuitive, especially when measuring something in units: you have to convert either of 1m or 1 inch before adding those, and adding ‘$19.99’ and ‘€9.90’ doesn’t produce ‘€$29.89’, because adding values of different units requires a conversion, and conversion of monetary units requires an exchange rate, and exchange rates will fluctuate.</p>
<p>Which brings me to statistics, <a href="https://en.wikipedia.org/wiki/How_to_Lie_with_Statistics">an easy refuge of those who would lie with numbers</a>. You can say things like <em>the average family with some number of children has 1.8 kids</em> and this is a lie with a kernel of truth – it is both obviously false and gives us an idea about what things look like in aggregate.</p>
<aside><p>Unless you want to get into the idea that some families have situations with shared custody and what does it really mean for a family to <em>have</em> a child anyway – a family cannot have 1.8 children because the underlying idea of a child in this case is dealing with whole people.</p></aside>
<p>But if you were to say <em>in State A, the average family with some number of children has 2.1 children and in State B, that number is 1.5</em>, there are certain things you can and can’t do with these numbers: You can compare them,  you can take their difference to quantify a comparison, and you can even divide one by the other to get a multiple, so you can say that <em>families with children in State A have 1.4 times as many children as in State B</em>.</p>
<p>What you can’t do is add those numbers together (3.6 has no meaning in this context), much less take their sum and then divide it by two to get an aggregate mean value and claim that <em>families with children in States A and B have 1.8 children on average</em>. I mean, you could, but you’re very likely wrong. There’s simply no way of knowing without getting the at least the sums and value counts underlying the provided 2.1 and 1.5 values.</p>
<p>This “average of averages” operation is exactly why the report mentioned up at the top of the page was wrong: The other team was getting some numbers from my system and using them in ways that made sense and yet were wrong in the context those numbers existed. They had done this with the intent of illustrating cleverness in the guise of saving resources, but they didn’t know this wasn’t producing valid results and for several months had produced reports which had incorrect data, reports on which people made decisions.</p>
<p>This is why I introduced a new numeric type to our in-house type system. There were already a few for various domain-specific measurable things, helping people to avoid operations that didn’t make sense in their contexts, and I had simply found another place that needed similar mistake-proofing.</p>
<aside><p>It was argued in this case there is a valid reason for adding the averages, and that was getting a “total average” for disjointed things, such as “mean time for operation A” and “mean time for operation B”, but the system already provided a way to query for “mean time for operation A followed by operation B” and provide a more accurate answer.</p></aside>
<p>Once you know to look for it, this sort of abstraction &#x26; affordance mismatch happens more often than you’d think. When something is presented in a particular form, we make assumptions about what that form offers: a door is meant for opening, a guitar meant for playing, a chair meant for sitting; and when those assumptions don’t hold, it’s generally obvious from context.</p>
<p>In computers, as with many mostly-abstract things, it’s up to us to create that context when base assumptions don’t hold. <em>Is</em> a number meant for adding? How can one tell given the cues available? Are you relying on people’s domain expertise to know? What happens when you bring in someone who isn’t a domain expert? Are you sure you’re the only people ever touching this code will be domain experts? Are you comfortable with relying on the training you think you’ll give them?</p>
<p>I know many people used to dealing with dynamically-typed languages tend to dislike this sort of abstraction, or even the concept of an in-house type system which spans multiple systems, but I’ve seen the value of it – many times over – in helping people who are good with logic but not necessarily domain experts on their project’s subject matter or even ancillary topics such as basic statistical methods to avoid potentially catastrophic mistakes.</p></section>]]></content:encoded>
            <author>&amp;lt;matthew@lyonhe.art&amp;gt; (Matthew Lyon)</author>
        </item>
        <item>
            <title><![CDATA[Links, March 6th, 2026]]></title>
            <link>https://lyonhe.art/links/2026-03-06</link>
            <guid>https://lyonhe.art/links/2026-03-06</guid>
            <pubDate>Fri, 06 Mar 2026 08:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<page-info></page-info>
<section><h3><a href="https://buttondown.com/monteiro/archive/how-to-grow-strawberries/">How to grow strawberries</a></h3>
<p>From <a href="https://www.mikemonteiro.com">Mike Montiero</a>, author of <a href="https://www.ruinedby.design">Ruined by Design</a>, some advice for someone new in their career and recently laid off from their tech job:</p>
<blockquote>
<p>If you decide to persevere in this industry, I’d walk into every interview with your head held high and remember that you are interviewing them, as much as they are interviewing you. You are deciding whether this is a company you want to sell your labor to.</p>
</blockquote>
<h3><a href="https://blog.ncase.me/on-depression/">Vitamin D &#x26; Omega-3 may have a larger effect on depression than antidepressants</a></h3>
<p>From <a href="https://ncase.me">Nicky Case</a>, whose <a href="https://ncase.me/polygons/">work</a> I’ve admired for a while now, with a lengthy positive but skeptical review of recent studies on how the two mentioned supplements can impact depressive tendencies and work <em>with</em> antidepressants. As someone who is benefitting greatly from an SSRI antidepressant, and <a class="internal" href="/lies-in-reach">made a very personal work about my experience of depression</a>, this is interesting stuff, and Nicky has a knack for taking complex, somewhat dry material and presenting it in a compelling way:</p>
<blockquote>
<p>But, as of right now, I feel I can at least confidently claim the following:</p>
<ul>
<li><p>Vitamin D and Omega-3 are both <em>at least on par</em> with the median antidepressant (effect size ~= +0.3).</p></li>
<li><p>The evidence is much stronger for Vitamin D; it’s very plausibly at least <em>twice</em> as good as antidepressants.</p></li>
<li><p>Both supplements are cheap and safe, so what’s the harm of trying? (positive “expected value” for this bet)</p></li>
</ul>
</blockquote>
<h3><a href="https://xn--gckvb8fzb.com/hold-on-to-your-hardware/">Hold on to Your Hardware</a></h3>
<p>A long, cynically speculative piece about the logical conclusions of the current memory/storage crisis:</p>
<blockquote>
<p>In addition, manufacturers are pivoting towards consumer hardware subscriptions, where you never own the hardware and in the most dystopian trajectory, consumers might not buy any hardware at all, with the exception of low-end <em>thin-clients</em> that are merely <em>interfaces</em>, and will rent compute through cloud platforms, losing digital sovereignty in exchange for convenience. And despite all of this sounding like science fiction, there is already hard evidence proving that access to hardware can in fact be politically and economically revoked.</p>
</blockquote>
<h3><a href="https://taggart-tech.com/control/">Control</a></h3>
<p>Another piece on that note:</p>
<blockquote>
<p>Once again, we have a misadventure that is “too big to fail.” The US economy can’t afford the consequences if consumer demand for AI levels off or disappears. And remember: <a href="https://www.wheresyoured.at/why-everybody-is-losing-money-on-ai/">AI has yet to be profitable</a> for anyone. Not just the hyperscalers, mind you—the small companies trying to find value in the product <a href="https://futurism.com/ai-far-away-profit-experts-warn">just…aren’t</a>.</p>
<p>How do you guarantee revenue on a product that nobody wants and people regret buying?</p>
<p>By making it mandatory.</p>
</blockquote>
<h3><a href="https://grith.ai/blog/clinejection-when-your-ai-tool-installs-another">A GitHub Issue Title Compromised 4,000 Developer Machines</a></h3>
<blockquote>
<p>The attack - which Snyk named “Clinejection”<a href="https://grith.ai/blog/clinejection-when-your-ai-tool-installs-another#user-content-fn-2">2</a> - composes five well-understood vulnerabilities into a single exploit that requires nothing more than opening a GitHub issue.</p>
</blockquote>
<p>There will be plenty more attacks like this as people trust natural language processing with more capabilities.</p>
<h3><a href="https://castpixel.itch.io/pcb-forge">PCB Forge</a></h3>
<blockquote>
<p>Turn any PCB layout into a 3D-printable mold. No etching, no chemicals.</p>
</blockquote>
<p>A pay-what-you-want (or not) web-based tool (<em>click “run tool” on the page</em>) which takes an SVG export from an <a href="https://en.wikipedia.org/wiki/Electronic_design_automation">EDA</a> tool and outputs an STL you can 3D-print, with grooves to inlay copper tape onto. It might not be the most effective way to make PCBs, but I’ve dug out an old 3D printer that’s been in a box since I moved six and a half years ago to try this out, because it’s much better than the 2 and half week turnaround time on regular PCB fabrication.</p>
<h3><a href="https://gram.liten.app">Gram</a> – A code editor for humanoid apes and grumpy toads</h3>
<p>Gram is a fork of <a href="zed.dev">Zed</a>, which I used for a while and abandoned for a handful of reasons, most notably their complete disregard for security in the original extensions implementation. When I did so, I also deleted my extension for <a href="https://fennel-lang.org">Fennel</a> (a language gets one extension and they had zero plans for governance at the time, to my knowledge they still don’t), which <a href="https://github.com/zed-industries/extensions/pull/2075">broke Zed’s extension build system</a>.</p>
<p>It’s a decent editor created by people I consider fundamentally unserious.</p>
<p>From Gram’s <a href="https://gram.liten.app/docs/mission/">Mission Statement</a>:</p>
<blockquote>
<p>Programming is more than just productivity. We need tools that are fit for purpose, that aren’t beholden to investors or share holders. There are aspects of the Zed code editor that I think are wrong in the moral and ethical sense, and there are aspects that I think are simply bad choices from a technical perspective.</p>
</blockquote>
<h3><a href="https://defuddle.md">Defuddle</a></h3>
<blockquote>
<p>Get the main content of any page as Markdown.</p>
</blockquote>
<p>From the makers of <a href="https://obsidian.md">Obsidian</a> (of which I am a heavy user), and presumably extracted from their <a href="https://obsidian.md/clipper">web clipper</a>, it basically does what the tagline says.</p>
<h3><a href="https://radicle.xyz">Radicle</a></h3>
<blockquote>
<p>Radicle is an open source, peer-to-peer code collaboration stack built on Git. Unlike centralized code hosting platforms, there is no single entity controlling the network. Repositories are replicated across peers in a decentralized manner, and users are in full control of their data and workflow.</p>
</blockquote>
<p><em>“But git is <strong>already</strong> decentralized!”</em> you say? From the FAQ:</p>
<blockquote>
<p>While Git is designed in some way for peer-to-peer interactions, there is no deployment of it that works that way. All deployments use the client-server model because Git lacks functionality to be deployed as-is in a peer-to-peer network.</p>
<p>For one, it has no way of verifying that the repository you downloaded after a <code>git clone</code> is the one you asked for, which means you need to clone from a trusted source (ie. a known server). This isn’t compatible with peer-to-peer in any useful way.</p>
</blockquote>
<p>Whereas <a href="https://forgejo.org/">Forgejo</a> is a single-source-of-truth host in the vein of Github, Radicle is not that. Why is this important? Well, what with <em>looks around</em> the current mess of things, and especially after Codeberg’s <a href="https://social.anoxinon.de/@codebergstatus/116173186557678264">recent DDOSing</a>, I’m becoming more convinced of the importance of the ideals behind this project.</p></section>]]></content:encoded>
            <author>&amp;lt;matthew@lyonhe.art&amp;gt; (Matthew Lyon)</author>
        </item>
        <item>
            <title><![CDATA[Links, Feb 27, 2026]]></title>
            <link>https://lyonhe.art/links/2026-02-27</link>
            <guid>https://lyonhe.art/links/2026-02-27</guid>
            <pubDate>Fri, 27 Feb 2026 08:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<page-info></page-info>
<section><h3><a href="https://spectrum.ieee.org/amp/jimi-hendrix-systems-engineer-2675298442">Jimi Hendrix Was a Systems Engineer</a></h3>
<p>From <a href="https://spectrum.ieee.org">IEEE Spectrum</a>, a wonderful piece which touches on a lot of my interests at once:</p>
<blockquote>
<p>Hendrix’s mission was to reshape both the electric guitar’s envelope and its tone until it could feel like a human voice. He tackled the guitar’s constraints by augmenting it. His solution was essentially a modular analog signal chain driven not by knobs but by hands, feet, gain staging, and physical movement in a feedback field.</p>
</blockquote>
<p>Coincidentally, the <a href="https://en.wikipedia.org/wiki/Fuzz_Face">Fuzz Face</a> is a <a href="https://www.electrosmash.com/fuzz-face">very simple circuit</a>, and if you want to get into DIY guitar pedals or music circuitry, you can learn a lot by building one and playing with its schematic.</p>
<p>I hadn’t heard of this online magazine before, and they also have a great piece on computer music pioneer <a href="https://spectrum.ieee.org">Miller Puckette</a>, creator of <a href="https://cycling74.com/products/max">Max</a> and <a href="https://puredata.info">PureData</a>, whose “patching” paradigm of programming is something I still think is under-appreciated.</p>
<h3><a href="https://eieio.games/blog/secure-massively-multiplayer-snake/">Snakes.run: Rendering 100M pixels a second over SSH</a></h3>
<p>Nolen Royalty, who did the <a href="https://lyonhe.art/links/2024-08-30/#The-Secret-Inside-One-Million-Checkboxes">One Million Checkboxes</a> thing, is back with a thing you can check out from the terminal with <code>ssh snakes.run</code>, and again provides a wonderful writeup:</p>
<blockquote>
<p>There were 3 core challenges I ran into building snakes.run.</p>
<ul>
<li><p><strong>Display:</strong> Making snake look nice in the terminal</p></li>
<li><p><strong>Bandwidth:</strong> My early code used a shocking amount of bandwidth</p></li>
<li><p><strong>Performance:</strong> Supporting thousands of concurrent players was hard</p></li>
</ul>
</blockquote>
<h3><a href="https://www.the-reframe.com/fix-your-hearts-or-die/">Fix Your Hearts or Die</a></h3>
<p>A meditation on toxic masculinity with some advice I wish I had taken to heart a lot sooner in life:</p>
<blockquote>
<p>A man free of patriarchy is a man who has found not only every woman’s humanity, but one who has at last discovered his own.</p>
</blockquote>
<h3><a href="https://dansinker.com/posts/2026-02-22-act-of-resistence/">On Joy and Resistance</a></h3>
<blockquote>
<p>There is a reason why the administration has cracked down on the arts and humanities alongside its brutal assault on migrants. It knows that art is dangerous, that knowledge leads to asking questions, and that those questions don’t always lead where they want you to go.</p>
</blockquote>
<h3><a href="https://thelocalstack.eu/posts/linkedin-identity-verification-privacy/">I verified my LinedIn Identity. Here’s What I Actually Handed Over.</a></h3>
<p>A detailed piece on the terms-of-service behind online identity verification:</p>
<blockquote>
<p>The whole thing took three minutes. Scan, selfie, done.</p>
<p>Understanding what I actually agreed to took me an entire weekend reading 34 pages of legal documents.</p>
</blockquote>
<h3><a href="https://www.garbageday.email/p/the-only-taboo-left-is-copyright-infringement">The only taboo left is copyright infringement</a></h3>
<p><a href="https://www.garbageday.email/">Garbage Day</a> on generational media trends:</p>
<blockquote>
<p>Culture right now is determined not by human teams of editors and producers picking and choosing what youth culture gets the spotlight, but, instead, by the unthinking algorithms that power YouTube and TikTok. Which means the only things that have the level of scarcity and danger required to be seen as cool by young people will, slowly, but surely, be whatever is unacceptable on those platforms.</p>
</blockquote>
<h3><a href="https://jenniferplusplus.com/what-is-a-token/">What is a Token</a></h3>
<p><a href="https://jenniferplusplus.com">Jennifer Moore</a> dispelling the illusion of LLM text generation with a cogent explanation of how the technology works, and touching on the cause of “LLM Burnout”:</p>
<blockquote>
<p>Vigilance means the same thing in this context as in colloquial speech. It’s remaining alert for potential hazards. And it’s really, really hard. It’s why you feel exhausted after a day of driving. Humans are just bad at this. So bad, in fact, that early humans may have domesticated wolves because it was easier than guarding against them.</p>
</blockquote>
<h3><a href="https://trufflesecurity.com/blog/google-api-keys-werent-secrets-but-then-gemini-changed-the-rules">Google API Keys Weren’t Secrets. But then Gemini Changed the Rules.</a></h3>
<p>This was shared with the commentary <em>“I bet someone got a promotion for this”</em> and I said something very similar when <a class="internal" href="/collapsing-context">google let my kid sign me in via the youtube app on my AppleTV</a>. Does anyone at Google actually respect people not employed by the company?</p>
<blockquote>
<p>You created a Maps key three years ago and embedded it in your website’s source code, exactly as Google instructed. Last month, a developer on your team enabled the Gemini API for an internal prototype. Your public Maps key is now a Gemini credential. Anyone who scrapes it can access your uploaded files, cached content, and rack up your AI bill.  Nobody told you.</p>
</blockquote>
<h2>AI will destroy the world, but in the most offensively boring way possible</h2>
<p>I really wish I didn’t feel like I had to post about this, but as I continue to see people post things like <em>“Claude can make binaries now! in a year we won’t even have programming languages!”</em> and <em>“Just keep your passwords in ChatGPT. Heck, in six months AI will just solve authentication”</em> I kinda feel like I should. I’m selective with these – for every link I end up sharing about genAI stuff, there are typically three I don’t.</p>
<h3><a href="https://www.anildash.com/2026/02/18/threatening-kids-with-ai/">How did we end up threatening our kids’ lives with AI</a></h3>
<p>From <a href="https://www.anildash.com">Anil Dash</a>,</p>
<blockquote>
<p>It used to be that encouraging children to self-harm, or producing sexualized imagery of children, were universally agreed upon as being amongst the worst things one could do in society. These were among the rare truly non-partisan, unifying moral agreements that transcended all social and cultural barriers. And now, some of the world’s biggest and most powerful companies, led by a few of the wealthiest and most powerful men who have ever lived, are violating these rules, <em>for profit</em>, and not only is there little public uproar, it seems as if very few have even noticed.</p>
<p>How did we get here?</p>
</blockquote>
<p>Anil follows up with <a href="https://www.anildash.com/2026/02/23/taking-action-ai-harms/">Taking action against AI harms</a>.</p>
<h3><a href="https://tante.cc/2026/02/20/acting-ethical-in-an-imperfect-world/">Acting ethically in an imperfect world</a></h3>
<p>If you missed it (<em>which, I’m jealous</em>), Cory Doctorow posted a screed decrying people who are against LLM usage as “purity culture” while defending his use of <a href="ollama.com">Ollama</a> for local LLM spelling and grammar correction. The argument is full of holes, ultimately against a strawman, and I think it’s a perfect encapsulation of why I’m not a fan of his. This piece is a great rebuttal:</p>
<blockquote>
<p>Cory shows his libertarian leanings here: If everything is somehow “free and open” then we have won. But “free and open” in this context usually means that “certain privileged groups have easy access to it and are not limited in what to do with it”. That’s <a href="https://tante.cc/2025/02/06/a-luddite-criticism-of-open-source-at-fluconf/">one of the core problems with the whole “open Source” movement</a>: That it reduces all struggle to if one can get their hands on the tools and has any restrictions to using them.</p>
</blockquote></section>]]></content:encoded>
            <author>&amp;lt;matthew@lyonhe.art&amp;gt; (Matthew Lyon)</author>
        </item>
        <item>
            <title><![CDATA[Book Recommendations: Discworld]]></title>
            <link>https://lyonhe.art/book-recommendations/discworld</link>
            <guid>https://lyonhe.art/book-recommendations/discworld</guid>
            <pubDate>Sun, 22 Feb 2026 08:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<page-info></page-info>
<section><p>Discworld is a sprawling series consisting of 41 novels (that are considered mostly stand-alone) with <a href="https://en.wikipedia.org/wiki/Discworld#Adaptations">many adaptations</a> and an assortment of companion books and <a href="https://boardgamegeek.com/geeklist/224144/discworld-board-games">board games</a>, set on a world that is a flat disc on the back of four giant elephants, themselves on the back of the giant turtle Atuin, journeying through space. But that doesn’t matter: while the books are fantasy, when it is good, the setting takes a back seat to storytelling that is simultaneously hilarious and profound; and you’ll forget about the turtle and the elephants until they’re called into the story.</p>
<p>I recommend you read some of it — not all of it! — and not in order. It’s best to think of Discworld as a set of smaller series and standalone novels set in the same world. Yes, there are cross-references, and yes, there is a general chronological progression of the world with publication order, <em>but</em> those things are not essential to enjoying the books, and if you try to read them in order you will likely give up before you discover something you like. I recently re-read the entire series in mostly publication order and I would not recommend that as your first Discworld experience.</p>
<p>My first encounter with the series was from a online recommendation in the late ’90s, following which I found a used copy of the first book <em>The Colour of Magic</em>, which I disliked and didn’t finish. About a decade later, I picked up <em><a href="#going-postal">Going Postal</a></em> (the 33rd book) in an airport bookstore before a trans-continental flight. I read it twice on that trip, scaring the people near me on the plane with how <em>much</em> I was laughing. It remains one of my favorite novels.</p>
<p>These books are both sprawling and not really a cohesive series in the traditional sense, and my purpose in writing this isn’t to convince you to read them <em>all</em> but rather to help you find a place you might want to start reading some of them.</p>
<ol>
<li><p><a href="#whats-so-funny">What makes the series worth reading</a></p></li>
<li><p><a href="#where-to-start">Some books I think would make good starting points</a></p><p><a href="#the-amazing-maurice">The Amazing Maurice and His Educated Rodents</a> • <a href="#going-postal">Going Postal</a> • <a href="#wyrd-sisters">Wyrd Sisters</a> • <a href="#the-wee-free-men">The Wee Free Men</a> • <a href="#guards-guards">Guards! Guards!</a> • <a href="#moving-pictures">Moving Pictures</a> • <a href="#the-truth">The Truth</a> • <a href="#hogfather">Hogfather</a> • <a href="#eric-faust">Eric (Faust)</a></p></li>
<li><p><a href="#by-subseries">A bit about each sub-series</a></p><p><a href="#tiffany-aching">Tiffany Aching and the Young Witches</a> • <a href="#city-watch">Sam Vimes and the City Watch</a> • <a href="#industrial-revolution">The Industrial Revolution and Moist von Lipwig</a> • <a href="#witches">Granny Weatherwax and the Witches</a> • <a href="#death">Death and the Paranormal</a> • <a href="#wizards">Rincewind and the Wizards</a> • <a href="#ancient-civilizations">Ancient Civilizations</a></p></li>
<li><p><a href="#other-favorites">Some of my other favorite Discworld books</a></p><p><a href="#monstrous-regiment">Monstrous Regiment</a> • <a href="#thud">Thud!</a> • <a href="#night-watch">Night Watch</a> • <a href="#wintersmith">Wintersmith</a> • <a href="#jingo">Jingo</a> • <a href="#the-last-hero">The Last Hero</a> • <a href="#unseen-academicals">Unseen Academicals</a> • <a href="#thief-of-time">Thief of Time</a></p></li>
</ol>
</section><section id="whats-so-funny" class="leading-thought" section-marker="no">
<p>You should read some Discworld because once Pratchett found his groove, he was able to write some densely-hilarious, densely-literate, amazingly-told stories that often have profound things to say about justice, equality, society, acceptance &#x26; inclusivity, and the nature of being sentient. Pratchett’s humor spans the gamut from well-placed puns, wry observations about “roundworld” <a href="https://www.lspace.org/books/apf/index.html">which an entire website is dedicated to explaining</a>, copious footnotes, deadpan juxtapositions, bizarre yet perfect analogies, intricate jokes which take two-thirds of the book to setup, extreme anthropomorphism, and more. Some of the books re-tell Shakespeare or folk tales, others rethink fairy tales, some of them are mystery novels, a few read like capers or thrillers, and I might even reluctantly describe one of my favorites as a redemption story meets business fiction.</p>
<blockquote>
<p>Coffee is a way of stealing time that should by rights belong to your older self.</p>
<p>— <a href="#thud">Thud!</a></p>
</blockquote>
<blockquote>
<p>HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM.</p>
<p>— <a href="#hogfather">Hogfather</a></p>
</blockquote>
<blockquote>
<p>What kind of man would put a known criminal in charge of a major branch of government? Apart from, say, the average voter.</p>
<p>— <a href="#going-postal">Going Postal</a></p>
</blockquote>
<blockquote>
<p>Then there is the dress. It has been owned by many sisters as well and has been taken up, taken out, taken down, and taken in by her mother so many times that it really ought to have been taken away.</p>
<p>— <a href="#the-wee-free-men">The Wee Free Men</a></p>
</blockquote>
<p>After the first ten to fifteen books or so, Pratchett goes from re-<em>presenting</em> fairy tales, folk lore, and fantasy tropes, and starts re-<em>contextualizing</em> them, making them feel more like our own world. The main city is home to people of nearly all the disc’s species and backgrounds; the animosity between dwarves and trolls feels like the animosity between certain ethnic groups here on roundworld, trolls being a bit undesirable what with mobsters and drug problems, and dwarves having a very conservative and xenophobic culture, for example; the elves hew more to fairy tale material – but with all the edges that stories and time have worn off. There are lots of great little touches in the world building like the black ribbon vampires who swear <em>not one drop</em> and golem rights activists.</p>
<p>Sometime in the late ’90s, Pratchett started introducing technology to the world, first in the form of a network of lantern-based towers used to relay messages via semaphore. Many of the books from there on out use this as a way of exploring how high-speed long-distance communication might change a society. The theme of how technology transforms society continues right up to the final book.</p>
<p>On top of this, the world building compounds. While nearly every book is considered standalone – the second book <em>The Light Fantastic</em> is the only true sequel in the entire series – the richness of the built world accumulates with familiarity of its locales and characters, and rewards multiple readings.</p>
<p>My reason for revisiting the series actually started with wanting to find <a class="internal" href="/book-recommendations/why-books-for-children-and-young-adults">something to read my child</a> by somebody who wasn’t problematic: his daughter <a href="https://www.the-independent.com/arts-entertainment/books/news/terry-pratchett-daughter-gc-trans-views-b1894405.html">vehemently refuted a posthumous attempt by transphobic activists</a> (nevermind that Terry himself wrote an <a href="#monstrous-regiment">entire book refuting forcibly-assigned gender roles in 2003</a>) and a core tenet of the series is that <a href="https://www.the-independent.com/arts-entertainment/books/news/terry-pratchett-daughter-gc-trans-views-b1894405.html">belief is how we make sense of the world</a>: that beliefs are a story you tell, which means, you help build your own reality. There are perhaps two things that might give you pause about Pratchett as a person: He accepted a knighthood for the <a href="https://en.wikipedia.org/wiki/Order_of_the_British_Empire">Order of the British Empire</a>, and was friends and <a href="https://en.wikipedia.org/wiki/Good_Omens">co-author</a> with <a href="https://www.bbc.co.uk/news/articles/cn01dynqx7ro">Neil Gaiman</a> — though <a href="https://www.reddit.com/r/neilgaiman/comments/1f4swu7/terry_pratchett_and_the_sa_allegations/">at a distance</a>.</p>
<p>So I read to my kid the six Discworld novels marketed towards younger readers and thought, well, maybe I should read the 20+ books in the series I hadn’t read yet, and re-read the rest of them while I was at it. I’m glad I did.</p>
<p><strong>A note on the audiobooks:</strong> There are two sets of audiobook renditions for each book in the series. Many of the first-produced were read by <a href="https://en.wikipedia.org/wiki/Stephen_Briggs">Stephen Briggs</a>, and the latter set by a variety of British actors following character arcs; the main actor will do most narration, including voices for all but one character; <a href="https://en.wikipedia.org/wiki/Bill_Nighy">Bill Nighy</a> reads the footnotes, and <a href="https://en.wikipedia.org/wiki/Peter_Serafinowicz">Peter Serafinowicz</a> voicing Death (that is, <em>the grim reaper</em>, who appears in almost all the books). My recent read-through was almost entirely the second set of audiobooks.</p>
</section><section id="where-to-start" class="leading-thought" section-marker="no">
<p>The main problem in recommending Discworld is overcoming the idea that one should start at the beginning or that one should immediately set about reading the whole thing. You shouldn’t do either. I can’t find a reference, but reportedly even Pratchett himself recommended people start with book 5, <em>Sourcery</em>.</p>
<p>There are a couple of problems in finding a good starting point: while each book is officially considered to stand alone, some work better as starting points than others. The series is complex enough there are <a href="https://www.ecosia.org/images?q=discworld%20reading%20order%20chart">multiple flowcharts</a> explaining chronology, character relationships, references, and how they intersect with your interest; and the books tend to get better as Pratchett found his voice, but don’t start getting <em>really damned good</em> until a bit after halfway through the publication order, by which time many of the books benefit from the context of their predecessors.</p>
<p>Here are my recommended first forays:</p>
<h3 id="the-amazing-maurice" section-marker="yes"><a class="sectionMark" rel="bookmark" href="#the-amazing-maurice">§</a><em>The Amazing Maurice and His Educated Rodents</em> (book 28) </h3>
<p>Maurice the cat can talk, accompanies some rats who ate some magical trash, and now they can all talk and think like people. Maurice found a “stupid-looking” kid who plays a flute, and has them all going from town-to-town running a pied piper scam: the rats create a mess, the townspeople call for a rat piper, and conveniently there’s a kid who can lead the rats out of town. The rats don’t like this, but they want money to get a place where they can live in peace, so they’ve agreed to One Last Job in the town of Bad Blintz, and of course something fishy is going on: a rat plague is already in progress and a rat piper has been called in. While there are some of the most lethal and dangerous traps the intelligent rats have ever seen in Bad Blintz, they find no native, normally-intelligent rats. On top of that, the mayor’s daughter discovered that Maurice can talk, and blackmails them to help figure out what’s going on.</p>
<p>This is a dark and brilliant take on <em><a href="https://en.wikipedia.org/wiki/Pied_Piper_of_Hamelin">The Pied Piper of Hamelin</a></em>, and one of my favorite books in the series. It has no real ties to the rest of the series. It’s the first marketed towards younger readers (and therefore the first with chapters), but holds its own for adults. It’s strongly plotted, well-paced, is filled with amazing characters, and dives into mystery, ethics, philosophy, and the nature of evil with aplomb. It has several great set pieces, and the ending does something wonderful with the aftermath that most books just skip over because it’s too messy.</p>
<blockquote>
<p>Look, what I’m saying is, you’re the leader, right? So you got to act like you know what you’re doing, okay? If the leader doesn’t know what he’s doing, no one else does, either.”</p>
<p>“I only know what I’m doing when I’m dismantling traps,” said Darktan.</p>
<p>“All right, think of the future as a great big trap,” said Sardines. “With no cheese.”</p>
</blockquote>
<p>I think my favorite parts of the book relate to how the younger rats are discovering they’re afraid of shadows, because they understand what the shadows hint at, and how the older rats aren’t happy about all the changes and just want to keep acting like rats. Much like they have a “trap squad” to understand and work around physical traps and poisons, they’re discovering they also need philosophy, to help with the equivalent mental territory.</p>
<blockquote>
<p>The trouble with thinking was that, once you started, you went on doing it.</p>
</blockquote>
<p>There is a <a href="https://en.wikipedia.org/wiki/The_Amazing_Maurice">2022 movie adapatation of the book</a>, which has middling reviews and I haven’t seen, though it features Hugh Laurie, David Tennant, and Emilia Clarke, and David Thewlis.</p>
<h3 id="going-postal" section-marker="yes"><a class="sectionMark" rel="bookmark" href="#going-postal">§</a><em>Going Postal</em> (book 33) </h3>
<p>Moist von Lipwig is a con man and fraudster who is to be hanged, but the ruler of the disc’s most prolific city has other plans for him: putting him in charge of rehabilitating the decades-defunct post office. The five previous postmasters were killed in the attempt, so why not? After a run-in with the new ownership of the semaphore towers – ruthless financiers who’ll do whatever it takes to eliminate the competition, Moist realizes it’s not enough to make the post office <em>functional</em> but also revive people’s belief in it.</p>
<blockquote>
<p>There is a saying ‘You can’t fool an honest man’ which is much quoted by people who make a profitable living by fooling honest men.</p>
</blockquote>
<p>This was the first Discworld novel I completed, and it remains one of my favorite novels. Moist is a genuinely compelling character, and this is the book I’d reluctantly describe as “a redemption story meets business fiction”; it’s a story about the skills and consequences of grifting, illustrated in both its protagonist and antagonist. The book was published in 2004 and is clearly inspired by the burgeoning internet technology industry with callbacks to the industrial revolution, and the consequences of private equity.</p>
<p>My problem with the book is bound up intractably with its premise: public services should not be run like con jobs or startups, and the approach taken here feels like a relic of a more painfully innocent time. Lipwig’s love interest is meant as a stand-in for the reader’s skepticism, but in the 22 years since the book was published she might have to become even more cynical.</p>
<p><em>Going Postal</em> was adapted to a two-part <a href="https://en.wikipedia.org/wiki/Terry_Pratchett%27s_Going_Postal">BBC Series</a> starring <a href="https://en.wikipedia.org/wiki/Richard_Coyle">Richard Coyle</a> as Moist (Coyle also does a great job narrating the book in the second audiobook rendition) and features <a href="https://en.wikipedia.org/wiki/Charles_Dance">Charles Dance</a> as such a strong rendition of Lord Vetinari that he is now my mental picture of the character persistent through the series.</p>
<h3 id="wyrd-sisters" section-marker="yes"><a class="sectionMark" rel="bookmark" href="#wyrd-sisters">§</a><em>Wyrd Sisters</em> (book 6) </h3>
<p>The King was murdered, his infant heir is rescued in the nick of time, the Duke who murdered him is a nasty piece of work, and it’s up to three witches (Granny Weatherwax, Nanny Ogg, and Magrat Garlick) to put things right.</p>
<blockquote>
<p>The duke had a mind that ticked like a clock and, like a clock, it regularly went cuckoo.</p>
</blockquote>
<p>This book has a lot of references to Shakespeare and in particular <em>Macbeth</em>, and if you’re a fan of theater or even classic performed comedy there are <a href="https://www.lspace.org/books/apf/wyrd-sisters.html">a ton of references to spot</a>. It is a story about political power, who wields it and how; and how that ties in to people’s need for a story they can tell themselves about how the world works. It’s a great starting point for both the <em>“Witches”</em> series and its successor centered on younger witch Tiffany Aching, and it’s the earliest-published book I’d recommend starting with.</p>
<h3 id="the-wee-free-men" section-marker="yes"><a class="sectionMark" rel="bookmark" href="#the-wee-free-men">§</a><em>The Wee Free Men</em> (book 30) </h3>
<p>Tiffany Aching is the youngest daughter of an old shepherding family; her late grandmother a legendary shepherd and wise-woman whom even the Baron respected. When Tiffany was eight years old, the Baron’s son went missing, and the villagers blamed an old woman with too many books, thinking her a witch; they stoned her cat and burned her hut down, and she died in the cold winter — Tiffany’s grandmother never would have let that happen. Tiffany buried the cat and measured the woman’s oven – there’s no way the Baron’s son could have fit in it; Tiffany decides she wants to become a witch so that sort of thing doesn’t happen again. A year later, Tiffany’s brother is kidnapped by fairies, so she goes after him armed with a frying pan… and a bit of unexpected help from some <a href="https://en.wikipedia.org/wiki/Nac_Mac_Feegle">carousing, fighting Smurfs</a>.</p>
<blockquote>
<p>And all the stories had, somewhere, the witch. The wicked old witch.</p>
<p>And Tiffany had thought: Where’s the evidence?</p>
</blockquote>
<p>I liked a lot about this book, but perhaps most of all is how – rare for a book with a pre-teen protagonist – is how she comes to terms with her dislike for her younger brother, and her lack of emotion at her grandmother’s death. I think kids tend to end up with this idea of how we’re <em>supposed</em> to feel about certain situations and then when those feelings don’t manifest, that disconnect can turn into self-doubt, and this book examines that expectation gap wonderfully.</p>
<p>The Nac Mac Feegle (the titular <em>Wee Free Men</em>) make for a delightful comic relief, and while there’s a glossary to help with understanding their vocabulary, the audiobooks (both renditions) provide a bit of a challenge to understand them.</p>
<h3 id="guards-guards" section-marker="yes"><a class="sectionMark" rel="bookmark" href="#guards-guards">§</a><em>Guards! Guards!</em> (book 8) </h3>
<p>The Night Watch is a joke. Down to three memebers, its captain is a drunkard, its sergeant ineffective, and its constable slightly less shady than most criminals. Into this comes an idealist orphan human raised by dwarves with a strange birthmark and mysterious sword, sent to take a job with the Guard, and a plot to depose the city’s ruler via <em>magical</em> Dragon – one of those legendary big, flying things could level a city, that no one’s seen for a long time; not one of the more common swamp dragons the size of a dog who have combustible indigestion. It seems that Sam Vimes can put a stop to it — if only he can sober up.</p>
<blockquote>
<p>Down there - he said - are people who will follow any dragon, worship any god, ignore any inequity. All out of a kind of humdrum, everyday badness. Not the really high, creative loathsomeness of the great sinners, but a sort of mass-produced darkness of the soul. Sin, you might say, without a trace of originality. They accept evil not because they say yes, but because they don’t say no.</p>
</blockquote>
<p>As the first book in the City Watch sub-series, this is many people’s preferred introductory book. It’s a parody of hardboiled detective novels but has lots of humor outside of that genre, and while the pacing starts off a bit slow, it’s a solid story and introduces Ankh-Morpork and its cast of characters beyond the glimpses from <em>The Colour of Magic</em> and <em>Sourcery</em>. The setting is commonly used in the Industrial Revolution series as well as a few of the Witches books.</p>
<h3 id="guards-guards" section-marker="yes"><a class="sectionMark" rel="bookmark" href="#guards-guards">§</a><em>Moving Pictures</em> (book 10) </h3>
<p>Using trained imps and flashing salamanders, an alchemist figured out how to capture and replay a sequence of pictures. Not too far away in the abandoned villa of Holy Wood, the last Keeper of The Door died. When people go to Holy Wood to make “movie magic”, what could possibly go wrong, especially when there’s money to be made?</p>
<blockquote>
<p>“Why is it all Mr. Dibbler’s films are set against the background of a world gone mad?” said the dwarf. Soll’s eyes narrowed. “Because Mr. Dibbler,” he growled, “is a very observant man.”</p>
</blockquote>
<p>This is a great book and similar early good place to start if you want to skip the wizards and watchmen and witches. It is absolutely <em>drenched</em> in references to early cinema, and even if you’re only passingly familiar with that it’s fun to play spot-the-reference (and then after <a href="https://www.lspace.org/books/apf/moving-pictures.html">check the ones you missed</a>), and I think it’s the best and funniest book in the first third of the series.</p>
<h3 id="the-truth" section-marker="yes"><a class="sectionMark" rel="bookmark" href="#the-truth">§</a><em>The Truth</em> (book 25) </h3>
<p>William de Worde writes a newsletter for far-off important people, keeping them informed of the goings-on in the bustling city, and a chance encounter puts him in with some Dwarves who are turning lead into gold – by means of <a href="https://en.wikipedia.org/wiki/Movable_type">movable type</a> – and de Worde starts a “news sheet” to expand his market to locals, and subsequently investigates a political conspiracy to overthrow the Patrician.</p>
<blockquote>
<p>The young man is also an idealist. He has yet to find out that what’s in the public interest is not what the public is interested in.</p>
</blockquote>
<p>Similarly to <em>Going Postal</em>, this book starts with a new character in the established world, and explains what it needs to as it goes; it <em>also</em> rewards a re-read for some great jokes about recurring series characters, but the book is quite enjoyable without that context. It’s only so far down this list because it’s helped a lot by contextual knowledge with Ankh-Morpork characters and the political relationship between city and the remote dwarvish government.</p>
<h3 id="hogfather" section-marker="yes"><a class="sectionMark" rel="bookmark" href="#hogfather">§</a><em>Hogfather</em> (book 20) </h3>
<p>The Auditors of Reality hire an assassin to take out the Hogfather – the Disc’s equivalent of Santa Claus, and Death is afraid of the consequences. It’s time to recruit his granddaughter Susan, who’s working as a governess for young children, and answering questions like whether stories about the Hogfather are really true or not.</p>
<p>This book is well into the <em><a href="#death">Death</a></em> series, but it’s easily the best of those books and the context you’re missing from other books isn’t really <em>that</em> important if you don’t mind suspending your disbelief a bit for a story about what happens when paranormal auditors hire an assassin to kill Santa Claus. That the <a href="https://en.wikipedia.org/wiki/Terry_Pratchett%27s_Hogfather">BBC adaptation</a> (which is good and worth hunting down) exists supports this idea.</p>
<p>One of the common themes in Discworld is the idea that the reality we inhabit – the shared mental one that defines the box of the world we’re not supposed to think outside of – is made up of beliefs; and this book more than any other touches on that. There is a much-quoted passage that gives me chills every time I read it:</p>
<blockquote>
<p>“All right,” said Susan. “I’m not stupid. You’re saying humans need… <em>fantasies</em> to make life bearable.”</p>
<p>REALLY? AS IF IT WAS SOME KIND OF PINK PILL? NO. HUMANS NEED FANTASY TO BE HUMAN. TO BE THE PLACE WHERE THE FALLING ANGEL MEETS THE RISING APE.</p>
<p>“Tooth fairies? Hogfathers? Little—”</p>
<p>YES. AS PRACTICE. YOU HAVE TO START OUT LEARNING TO BELIEVE THE <em>LITTLE</em> LIES.</p>
<p>“So we can believe the big ones?”</p>
<p>YES. JUSTICE. MERCY. DUTY. THAT SORT OF THING.</p>
<p>“They’re not the same at all!”</p>
<p>YOU THINK SO? THEN TAKE THE UNIVERSE AND GRIND IT DOWN TO THE FINEST POWDER AND SIEVE IT THROUGH THE FINEST SIEVE AND THEN <em>SHOW</em> ME ONE ATOM OF JUSTICE, ONE MOLECULE OF MERCY. AND YET—Death waved a hand. AND YET YOU ACT AS IF THERE IS SOME IDEAL ORDER IN THE WORLD, AS IF THERE IS SOME…SOME <em>RIGHTNESS</em> IN THE UNIVERSE BY WHICH IT MAY BE JUDGED.</p>
<p>“Yes, but people have <em>got</em> to believe that, or what’s the <em>point</em>—”</p>
<p>MY POINT EXACTLY.</p>
</blockquote>
<p>And yet, They’re both right. Susan is right because justice is not a lie in the same way Santa Claus is a lie; justice is something we can create, something we can strive for. Death’s point, however, remains that we often treat these ideas as intrinsic to the world, a natural force like gravity which begets quotes like <a href="https://quoteinvestigator.com/2012/11/15/arc-of-universe/"><em>the arc of the moral universe is long, but it bends towards justice</em></a> which is complete and utter baloney that I have seen people falling for my entire adult life – Justice is something that is made, by people.</p>
<p>A note on the audiobook: there is a character in this book who is the “Oh God” of hangovers, and the source of a lot of vomiting and nausea jokes; I was okay with this on my first read-through of the paper book, but listening to the audio book performance of this character by Sian Clifford was an experience that made me feel physically ill at times.</p>
<h3 id="eric-faust" section-marker="yes"><a class="sectionMark" rel="bookmark" href="#eric-faust">§</a><em>Eric (Faust)</em> (book 9) </h3>
<p>Eric is a thirteen-year old demonologist, who just wants what any teenage boy would want: mastery of the kingdoms of the world, to meet the most beautiful woman who has ever lived, and to live forever. He tries to summon a demon, but instead summons Rincewind, who’s desperately trying to escape the Dungeon Dimensions after the ending of <em>Sourcery</em>. Eric’s going to get <em>exactly</em> what he wants, which is of course more than he bargained for.</p>
<blockquote>
<p>The gods of the Disc have never bothered much about judging the souls of the dead, and so people only go to hell if that’s where they believe, in their deepest heart, that they deserve to go. Which they won’t do if they don’t know about it. This explains why it is so important to shoot missionaries on sight.</p>
</blockquote>
<p>If you want to read the Rincewind books, you could do worse than start here. It’s a short take on – as indicated by the title –  <a href="https://en.wikipedia.org/wiki/Faust"><em>Faust</em></a>, notably about being careful what you wish for, and the humor of the final stretch is highly reminiscent of Douglas Adams.</p>
</section><rule class="fleur"></rule><section id="by-subseries" class="leading-thought" section-marker="no"><p>Rather than discuss the books in publication order, or try to invent yet <em>another</em> type of flow-chart to show book relationships, I’m mostly going to take the official series listing and present them in order of the mean rating I gave their books in my read-through with some finagling based on how well I think they help build up the world and characters to support other books.</p>
<h3 id="tiffany-aching" section-marker="yes"><a class="sectionMark" rel="bookmark" href="#tiffany-aching">§</a>Tiffany Aching and the Young Witches </h3>
<p>Coming in at the end of the series and marketed towards younger readers, the Tiffany Aching books are both consistently great and don’t assume much other context from other series, although the last book (which is the final Discworld novel) builds on world developments from the two previously-published books, <em>Snuff</em> and <em>Raising Steam</em>.</p>
<p>At the start of the first book, Tiffany Aching is a nine-year old whose brother was kidnapped by fairy creatures, and, impatient for the help a traveling witch promised to go and get, she sets out to rescue him armed with a frying pan, and the series sees her gain two years in age, and grow in ability and power to overcome a number of powerful adversaries with primarily non-violent means.</p>
<p>As a parent who has read this series to my child, a particular thing I appreciate about these books compared to, say, a popular series about a school for young magic users, is a <em>de-emphasis</em> on the fantastical and rather an emphasis on paying attention to the details of the mundane world around you:</p>
<blockquote>
<p>“Exactly where can I find the school?” said Tiffany.</p>
<p>“To find the school for witches, go to a high place near here, climb to the top, open your eyes…” Miss Tick hesitated.</p>
<p>“Yes?”</p>
<p>“…and then open your eyes again.”</p>
<p>— <a href="#the-wee-free-men">The Wee Free Men</a></p>
</blockquote>
<p>Think about it; this tells you everything about where the school for witches is, and in some respects is also the test on how to find it.</p>
<blockquote>
<p>Tiffany got up early and lit the fires. When her mother came down, she was scrubbing the kitchen floor, very hard.</p>
<p>“Er… aren’t you supposed to do that sort of thing by magic, dear?” said her mother, who’d never really got the hang of what witchcraft was all about.</p>
<p>“No, Mum, I’m supposed not to,” said Tiffany, still scrubbing.</p>
<p>“But can’t you just wave your hand and make all the dirt fly away, then?”</p>
<p>“The trouble is getting the magic to understand what dirt is,” said Tiffany, scrubbing hard at a stain. “I heard of a witch over in Escrow who got it wrong and ended up losing the entire floor and her sandals and nearly a toe.”</p>
<p>Mrs. Aching backed away. “I thought you just had to wave your hands about,” she mumbled nervously.</p>
<p>“That works,” said Tiffany, “but only if you wave them about on the floor with a scrubbing brush.”</p>
<p>— <a href="#wintersmith">Wintersmith</a></p>
</blockquote>
<p>It’s not that I don’t think there’s a place for <em>wonder</em>, but this isn’t a series of books that try to make things seem magical because the jelly beans sometimes taste of earwax; rather, it’s a series about finding one’s own power and owning one’s own impact on the world, and how often that <em>is</em> mundane:</p>
<blockquote>
<p>I’ll never be like this again … I’ll never again feel as tall as the sky and as old as the hills and as strong as the sea. I’ve been given something for a while, and the price of it is that I have to give it back. </p>
<p>And the <em>reward</em> is giving it back, too. No human could live like this. You could spend a day looking at a flower to see how wonderful it is, and that wouldn’t get the milking done. No wonder we dream our way through our lives. To be awake, and see it all as it really is…no one could stand that for long.</p>
<p>— <a href="#the-wee-free-men">The Wee Free Men</a></p>
</blockquote>
<p>I enjoyed all of these novels thoroughly – don’t let the marketing as “young adult” dissuade you from them.</p>
<p><a href="#the-wee-free-men">The Wee Free Men</a> • <em>A Hat Full of Sky</em> • <a href="#wintersmith"><em>Wintersmith</em></a> • <em>I Shall Wear Midnight</em> • <em>The Shepherd’s Crown</em></p>
<h3 id="city-watch" section-marker="yes"><a class="sectionMark" rel="bookmark" href="#city-watch">§</a>Sam Vimes and the City Watch </h3>
<p>It feels weird to recommend in the 2020s a series of books about what is essentially the formation of a city police force, and yet here I am doing so. It helps to remember that these are <em>not</em> books about policing in the United States;  at the start of the series, the Night Watch are four people in a city of a million. These stories largely follow the format of old procedurals, typically center on a mystery to be uncovered, very much tout the importance of diversity &#x26; representation, and starting with <em>Feet of Clay</em> are all very morally-oriented books which center on ethics, justice, and ideals of fairness and equality.</p>
<p>Sam Vimes starts the series as the alcoholic captain of the city’s dilapidated night watch, and by the end of it is the teetotaling commander of a police force which has become the model for the surrounding area. He is quite cynical, which helps with balancing his role as defender of the status quo in the name of the law and challenger of the status quo in the name of justice.</p>
<blockquote>
<p>“Commander, I always used to consider that you had a definite anti-authoritarian streak in you.”</p>
<p>“Sir?”</p>
<p>“It seems that you have managed to retain this even though you are authority.”</p>
<p>“Sir?”</p>
<p>“That’s practically zen.”</p>
<p>— <em>Feet of Clay</em></p>
</blockquote>
<blockquote>
<p>It was because he wanted there to be conspirators. It was much better to imagine men in some smoky room somewhere, made mad and cynical by privilege and power, plotting over the brandy. You had to cling to this sort of image, because if you didn’t then you might have to face the fact that bad things happened because ordinary people, the kind who brushed the dog and told their children bedtime stories, were capable of then going out and doing horrible things to other ordinary people.</p>
<p>— <em><a href="#jingo">Jingo</a></em></p>
</blockquote>
<p>They’re also the best source of a lot of context for other books. They’re centered in the city of Ankh-Morpork (but visit other locales), and nearly all the other sub-series visit the city at some point, and typically the Watch are involved in that visit. You can, of course, pick that up elsewhere or do without.</p>
<p>These books also introduces the famous <a href="https://en.wikipedia.org/wiki/Boots_theory">Vimes boots theory of socioeconomic unfairness</a>:</p>
<blockquote>
<p>The reason that the rich were so rich, Vimes reasoned, was because they managed to spend less money.</p>
<p>Take boots, for example. He earned thirty-eight dollars a month plus allowances. A really good pair of leather boots cost fifty dollars. But an affordable pair of boots, which were sort of OK for a season or two and then leaked like hell when the cardboard gave out, cost about ten dollars. Those were the kind of boots Vimes always bought, and wore until the soles were so thin that he could tell where he was in Ankh-Morpork on a foggy night by the feel of the cobbles.</p>
<p>But the thing was that good boots lasted for years and years. A man who could afford fifty dollars had a pair of boots that’d still be keeping his feet dry in ten years’ time, while the poor man who could only afford cheap boots would have spent a hundred dollars on boots in the same time and would still have wet feet.</p>
<p>This was the Captain Samuel Vimes ‘Boots’ theory of socioeconomic unfairness.</p>
<p>— <em>Men at Arms</em></p>
</blockquote>
<p>I found the first two books enjoyable and the rest either great or amazingly great.</p>
<p><a href="#guards-guards">Guards! Guards!</a> • <em>Men at Arms</em> • <em>Feet of Clay</em> • <a href="#jingo">Jingo</a> • <em>The Fifth Elephant</em> •  <a href="#night-watch">Night Watch</a> • <a href="#thud">Thud!</a> • <em>Snuff</em></p>
<h3 id="industrial-revolution" section-marker="yes"><a class="sectionMark" rel="bookmark" href="#industrial-revolution">§</a>The Industrial Revolution and Moist von Lipwig </h3>
<p>Discworld evolves, and about halfway through the series, Pratchett decided to accelerate that. These books largely deal with introducing technology and ideas we tend to think of as more modern into a fantasy setting replete with fairies and living rock people and magic. The first three are all easily stand-alone books (though both <em>The Truth</em> and <em>Monstrous Regiment</em> benefit from context introduced in earlier books, the <em>Watch</em> series most notably), and the latter three focus on a new character: Moist von Lipwig, a conman whose skills are put towards public service.</p>
<blockquote>
<p>“A <em>banker</em>? <em>Me</em>?”</p>
<p>“Yes, Mr. Lipwig.”</p>
<p>“But I don’t know anything about running a bank!”</p>
<p>“Good. No preconceived ideas.”</p>
<p>“I’ve <em>robbed</em> banks!”</p>
<p>“Capital! Just reverse your thinking,” said Lord Vetinari, beaming. “The money should be on the <em>inside</em>.”</p>
<p>— <em>Making Money</em></p>
</blockquote>
<blockquote>
<p>The aristocrats, if such they could be called, generally hated the whole concept of the train on the basis that it would encourage the lower classes to move about and not always be available.</p>
<p>— <em>Raising Steam</em></p>
</blockquote>
<p>I love all of these books except for <em>Making Money</em>, which I felt a bit too scattered and whose ending undercut its larger commentary about finance.</p>
<p><a href="#moving-pictures"><em>Moving Pictures</em></a> • <a href="#the-truth"><em>The Truth</em></a> • <a href="#monstrous-regiment"><em>Monstrous Regiment</em></a> • <a href="#going-postal"><em>Going Postal</em></a> • <em>Making Money</em> • <em>Raising Steam</em></p>
<h3 id="witches" section-marker="yes"><a class="sectionMark" rel="bookmark" href="#witches">§</a>Granny Weatherwax and the Witches </h3>
<p>Esmerelda (Granny) Weatherwax is the leader that witches would have if witches had a leader. They don’t have head witches – Granny Weatherwax wouldn’t allow that sort of thing. She’s a crotchety traditionalist who distrusts books, cities, fancy talk, and material possessions; but she’s an eminently practical, moral, and clever person who – while extremely skilled at magic, prefers instead using <em>headology</em> when possible. Her friend Gytha (Nanny) Ogg is in many ways her opposite: down-to-earth, kind (to anyone outside her family, at least), bawdy, and never one to pass on food or a drink (and often <em>providing</em> the drink) and perhaps more clever than Granny Weatherwax, but also clever enough not to let on.</p>
<blockquote>
<p>The trouble is, you see, that if you do know Right from Wrong, you can’t choose Wrong. You just can’t do it and live. So.. if I was a bad witch I could make Mister Salzella’s muscles turn against his bones and break them where he stood… if I was bad. I could do things inside his head, change the shape he thinks he is, and he’d be down on what had been his knees and begging to be turned into a frog… if I was bad. I could leave him with a mind like a scrambled egg, listening to colors and hearing smells…if I was bad. Oh yes.” There was another sigh, deeper and more heartfelt. “But I can’t do none of that stuff. That wouldn’t be Right”</p>
<p>— <em>Maskerade</em></p>
</blockquote>
<blockquote>
<p>“There is a very interesting debate raging at the moment about the nature of sin, for example,” said Oats.</p>
<p>“And what do they think? Against it, are they?” said Granny Weatherwax.</p>
<p>“It’s not as simple as that. It’s not a black and white issue. There are so many shades of gray.”</p>
<p>“Nope.”</p>
<p>“Pardon?”</p>
<p>“There’s no grays, only white that’s got grubby. I’m surprised you don’t know that. And sin, young man, is when you treat people as things. Including yourself. That’s what sin is.”</p>
<p>“It’s a lot more complicated than that—”</p>
<p>“No. It ain’t. When people say things are a lot more complicated than that, they means they’re getting worried that they won’t like the truth. People as things, that’s where it starts.”</p>
<p>“Oh, I’m sure there are worse crimes—”</p>
<p>“But they starts with thinking about people as things…”</p>
<p>– <em>Carpe Jugulum</em></p>
</blockquote>
<p>I enjoyed all of these books, but they’re all written before I think Pratchett really found his fire, and found a successor for the witches series in Tiffany Aching. They are still very much worth reading, especially for character context if you’re an adult planning to read the Tiffany Aching books.</p>
<p>I do have to note that while Nanny Ogg is a good character and seems like a wonderful personality, her portrayal as the matriarch of the Ogg family is tyranically abusive towards her family and especially anyone unlucky enough to marry into it. It’s played for jokes because the characterization happened in the ’80s and the books are largely written in the ’90s, but it works against her character, this series, and even the portrayal of Lord Vetinari’s tyranny over Ankh-Morpork.</p>
<p>The witches are largely centered in the small mountain kingdom of Lancre, rich in magic, but they travel to other parts of the disc as well.</p>
<p><em>Equal Rites</em> • <a href="#wyrd-sisters"><em>Wyrd Sisters</em></a> • <em>Witches Abroad</em> • <em>Lords and Ladies</em> • <em>Maskerade</em> • <em>Carpe Jugulum</em></p>
<h3 id="death" section-marker="yes"><a class="sectionMark" rel="bookmark" href="#death">§</a>Death and the Paranatural </h3>
<p>Death is a skeletal figure in black robes who carries a scythe, because that’s what people <em>believe</em> the figure of Death should be. He (<em>sigh</em>, Death first appeared in <em>The Color of Magic</em> and <em>Mort</em> was published in 1987, and while I do remember reading about sie/hir and such in the ’90s, Death the Grim Reaper is represented as male – presumably because, well, that’s what people <em>believe</em> about Death) lives in a manor outside time, rides a white horse named Binky, has a manservant named Albert and a granddaughter named Susan, and takes an interest in his charges a bit more than the universe would like him to.</p>
<p>Death is a great character and a highlight of every book he appears in (which is nearly all of them) and Susan is an <em>amazingly great</em> character, I found their books not quite as satisfying as the previously-listed sub-series, despite that they make some of the best points about what it means to be <em>human</em>.</p>
<blockquote>
<p>Susan hated Literature. She’d much prefer to read a good book.</p>
<p>— <em>Soul Music</em></p>
</blockquote>
<blockquote>
<p>“Just a minute,” said Lobsang. “Who <em>are</em> you? Time has stopped, the world is given over to…fairy tales and monsters, and there’s a <em>schoolteacher</em> walking around?”</p>
<p>“Best kind of person to have,” said Susan. “We don’t like silliness. Anyway, I told you. I’ve inherited certain talents.”</p>
<p>“Like living outside of time?”</p>
<p>“That’s one of them.”</p>
<p>“It’s a weird talent for a schoolteacher!”</p>
<p>“Good for marking, though,” said Susan calmly.</p>
<p>— <em><a href="#thief-of-time">Thief of Time</a></em></p>
</blockquote>
<p>The second audiobook releases are a great experience thanks to extended outstanding performances by Peter Serafinowicz as the voice of Death. He’s in nearly all of the novels in this capacity, but you get a lot more those performances here.</p>
<p><em>Mort</em> • <em>Reaper Man</em> • <em>Soul Music</em> • <a href="#hogfather"><em>Hogfather</em></a> • <a href="#thief-of-time"><em>Thief of Time</em></a></p>
<h3 id="wizards" section-marker="yes"><a class="sectionMark" rel="bookmark" href="#wizards">§</a>Rincewind and the Wizards </h3>
<p>Rincewind is a cowardly “wizzard” (sic) who can’t do magic, and whose talents include getting into scary situations <em>and</em> getting out of them. He’s a one-joke character: he’s a coward who runs away from things. These books are largely parodies, starting with more traditional fantasy novels and progressing into, well, a bunch of jokes about Australia.</p>
<p>The last two of these books are really good, but largely because they don’t center themselves on Rincewind.</p>
<p>The saving grace for the earlier books are its supporting characters:</p>
<ul>
<li><p><em>The Luggage</em>, a chest of sapient pearwood with hundreds of legs</p></li>
<li><p>The Librarian, a human turned into an orangutan in a magical accident and would prefer to keep it that way</p></li>
<li><p>Mustrum Ridcully, introduced in <em>Moving Pictures</em> as the latest Archchancellor of Unseen University, who plays as foil to the faculty</p></li>
<li><p>Ponder Stibbons, introduced as a student in <em>Moving Pictures</em> and later becomes head of Inadvisably Applied Magic, who creates <em>Hex</em>, the Disc’s first computer</p></li>
</ul>
<blockquote>
<p>Any true wizard, faced with a sign like ‘Do not open this door. Really. We mean it. We’re not kidding. Opening this door will mean the end of the universe,’ would automatically open the door in order to see what all the fuss is about. This made signs rather a waste of time, but at least it meant that when you handed what was left of the wizard to his grieving relatives you could say, as they grasped the jar, ‘We told him not to.’</p>
<p>— <em>The Last Continent</em></p>
</blockquote>
<p>The wizards generally feature heavily in the <em>Death</em> series, and occasionally in other books in Ankh-Morpork, such as <em><a href="#thud">Thud!</a></em> and <a href="#making-money"><em>Making Money</em></a>, but you can pick up on what you need to from those books just fine.</p>
<p>They’re also the books that cover the most locales on Discworld; if you find yourself looking at a <a href="https://www.ecosia.org/images?q=discworld%20map">map of Discworld</a> and wonder “what’s that place, I haven’t heard of it yet?”, chances are Rincewind visited it at some point.</p>
<p><em>The Colour of Magic</em> • <em>The Light Fantastic</em> • <em>Sourcery</em> • <a href="#eric-faust"><em>Eric / Faust</em></a> • <em>Interesting Times</em> • <em>The Last Continent</em> • <a href="#the-last-hero"><em>The Last Hero</em></a> • <a href="#unseen-academicals"><em>Unseen Academicals</em></a></p>
<h3 id="ancient-civilizations" section-marker="yes"><a class="sectionMark" rel="bookmark" href="#ancient-civilizations">§</a>Ancient Civilizations </h3>
<p>Some descriptions of the books in the series put <em>Pyramids</em> and <em>Small Gods</em> together under an <em>Ancient Civilizations</em> series, but <em>Pyramids</em> deals with the weight of culture and <em>Small Gods</em> is the only book to eschew publication-order chronology and is officially set some time long ago; other than that they don’t have much in common.</p>
<blockquote>
<p>“The diameter divides into the circumference, you know. It ought to be three times. You’d think so, wouldn’t you? But does it? No. Three point one four one and lots of other figures. There’s no end to the buggers. Do you know how pissed off that makes me?”</p>
<p>“I expect it makes you extremely pissed off,” said Teppic politely.</p>
<p>“Right. It tells me that the Creator used the wrong kind of circles. It’s not even a proper number! I mean, three point five, you could respect. Or three point three. That’d look <em>right</em>.” He stared morosely at the pie.”</p>
<p>— <em>Pyramids</em></p>
</blockquote>
<blockquote>
<p>“The merest accident of microgeography had meant that the first man to hear the voice of Om, and who gave Om his view of humans, was a shepherd and not a goatherd. They have quite different ways of looking at the world, and the whole of history might have been different. For sheep are stupid, and have to be driven. But goats are intelligent, and need to be led.”</p>
<p>— <em>Small Gods</em></p>
</blockquote>
<p>While I enjoyed both of these books, and while they do both stand alone, I don’t feel like either of them are necessarily good <em>enough</em> to make for a satisfactory introduction to Discworld.</p>
<p><em>Pyramids</em> • <em>Small Gods</em></p>
</section>
<rule class="fleur"></rule><section id="other-favorites" section-marker="no"><p>I wanted to highlight a few of my other favorite books from Discworld, but which I don’t think make for good starting points. These are roughly ordered by my personal rating of them:</p>
<h3 id="monstrous-regiment" section-marker="yes"><a class="sectionMark" rel="bookmark" href="#monstrous-regiment">§</a><em>Monstrous Regiment</em> (book 31) </h3>
<p>Polly Perks runs her family’s inn in the belligerent religious backwater country of Borogravia, and when her brother Paul doesn’t come back from joining the Army, her family is in danger of losing the inn; in Borogravia, women owning property is “an abomination unto Nuggan” (their deity), alongside other abominations such as chocolate, garlic, mushrooms, the color blue, babies, crop rotation, shirts with six buttons, accordion players, and cats. So Polly cuts off her hair, dons a pair of trousers, and joins up with the Army to look for her brother.</p>
<p>This is an amazing book that didn’t make the introductory list because – while I enjoyed it on my first read as my second Discworld novel – I enjoyed it <em>a lot more</em> on my recent re-read, thanks to having all the context from the City Watch books through <em>The Fifth Elephant</em> (which introduce the semaphore towers) and familiarity with William deWorde and the newspaper from <a href="#the-truth"><em>The Truth</em></a>. You could very well start here, but do come back for a re-read after reading those two books.</p>
<blockquote>
<p>The pen might not be mightier than the sword, but maybe the printing press was heavier than the siege weapon.</p>
</blockquote>
<p>It echoes the parts of <a href="#jingo">Jingo</a> I liked about a stupid war pushed by the ruling class for stupid reasons, and while Vimes plays a significant part, we see the other side of it from someone on the ground who would, had she stuck to her assigned societal role – not even have been on the game board, and even then as a mere private only been one of the pawns.</p>
<blockquote>
<p>The enemy wasn’t men, or women, or the old, or even the dead. It was just bleedin’ stupid people, who came in all varieties. And no one had the right to be stupid.</p>
</blockquote>
<p>But the war is mostly a backdrop for a larger tale about gender; how superficial and stupid traditional roles are, and how impossibly ridiculous is the idea of a gender <em>binary</em>, and while Polly thinks of herself as a woman throughout the book, just pretending to a boy to achieve greater ends, the book does have at least one transgender character (and probably more) in full refutation of the posthumous attempt by UK transphobes to claim Pratchett as one of their own. The book was written in 2003, and there are good-natured jokes about cross-dressing and gender befuddlement much in the vein of <a href="https://en.wikipedia.org/wiki/Pat_(Saturday_Night_Live)">It’s Pat</a>, though these feel like a reminder of a more painfully innocent time.</p>
<p>My problems with this book are echoes of my larger problems with military fiction in general – there is much made about glorifying hazing rituals and the camaraderie and jokes about incompetent officers; and while I understand why people like that sort of thing, <strong>I</strong> do not, despite working in a field in which all three of those things (substitute <em>officers</em> for <em>management</em>) and are commonplace.</p>
<h3 id="thud" section-marker="yes"><a class="sectionMark" rel="bookmark" href="#thud">§</a><em>Thud!</em> (book 34) </h3>
<p>The anniversary of Koom Valley – where the dwarfs ambushed the trolls, or the trolls ambushed the dwarfs, depending on who you ask – is coming up. It was a long time ago, but both races have held long grudges over the event, justifying acts of violence against the other to this day with cries of <em>Remember Koom Valley!</em> and they’ve brought this racial tension with them into Ankh-Morpork. A fundamentalist “deep-down” dwarf giving agitating speeches and stoking racial flames is murdered with a troll club is found at the scene, and a famous painting depicting the battle of Koom Valley by an insane artist has gone missing. Vimes has no patience for any of this — no one’s going to start a war on his watch, but he’s also got to deal with an audit from an over-competent clerk, placating the temperance league to take a vampire onto the city watch, and a mysterious troll who wants him to learn a board game. He’s also got to be home at six o’clock prompt every evening to read <em>Where’s My Cow?</em> to his young child, complete with all the animal noises.</p>
<p>This was the third Discworld novel I had read, and twenty years after its publishing date it sadly feels as relevant as ever. <em>Thud!</em> is what convinced me the series had teeth; it is extremely well-plotted and paced and wastes no small detail, from the children’s book, the <a href="https://boardgamegeek.com/boardgame/4532/thud">board game</a> after which the book is named, the auditing clerk and the provisional vampire constable – who Vimes assigns to the werewolf sergeant, with the vampire/werewolf tension a microcosm of the larger dwarf/troll tension that itself feels pulled from modern ethnic resentment, and it all fits together very nicely.</p>
<p>Re-reading this as a parent who’s been through the <em>Where’s My Cow?</em> phase of reading material, it hit me a bit differently:</p>
<blockquote>
<p>Would a minute have mattered? No, probably not, although his young son appeared to have a very accurate internal clock. Possibly even 2 minutes would be okay. Three minutes, even. You could go to five minutes, perhaps. But that was just it. If you could go for five minutes, then you’d go to ten, then half an hour, a couple of hours…and not see your son all evening. So that was that. Six o’clock, prompt. Every day. Read to young Sam. No excuses. He’d promised himself that. No excuses. No excuses at all. Once you had a good excuse, you opened the door to bad excuses.</p>
</blockquote>
<p>especially with how this ties into Vimes’s philosophy of policing:</p>
<blockquote>
<p>Beating people up in little rooms…he knew where that led. And if you did it for a good reason, you’d do it for a bad one. You couldn’t say “we’re the good guys” and do bad-guy things.</p>
</blockquote>
<p>There were a few moments, rereading this in the 2020s, where I had to remind myself that the Ankh-Morpork City Watch are <em>not</em> the police we know here and now, and Vimes’s insistence that the answer to “who watches the watchmen” is <em>I do</em> feels painfully naïve. But the overarching narrative about racial animosity and conflict, and how it’s so often stoked by those desiring to keep or maintain power, is unfortunately as relevant as ever.</p>
<h3 id="night-watch" section-marker="yes"><a class="sectionMark" rel="bookmark" href="#night-watch">§</a><em>Night Watch</em> (book 29) </h3>
<p>Sam Vimes and some of the old-timer watchmen (and disturbingly, Lord Vetinari) prepare to observe some remembrance they all vehemently do not want to talk about. A serial killer is on the loose in Ankh-Morpork and just murdered an off-duty sergeant, and when the Watch has him cornered on the roof of the Unseen University library, Vimes goes after him personally. A magical storm throws them both back into the past, when young Vimes was a new recruit, shortly before the events the old-timers were set to observe. Young Vimes’s mentor was killed prematurely by the serial killer, and it’s up to old Vimes to hold everything together. Maybe he can change history while he’s at it.</p>
<p><em>Night Watch</em> is proof that the grim greatness of <em>The Amazing Maurice</em> was not a fluke; it turns the dark grittiness all the way up, and while most of the humor is of the gallows variety, it is in many ways the opposite of <em><a href="https://en.wikipedia.org/wiki/Grimdark">grimdark</a></em>; it is about hope (which in <em>Going Postal</em> is called <em>the greatest of treasures</em>), or perhaps its cynical counterpart: determination; it is a story about revolutionary politics, revisiting the cynical take from <em>Interesting Times</em> in a far better manner, and perhaps most relevant for our times it is a story ethics in policing and about how justice does <strong>not</strong> look like <em><a href="https://en.wikipedia.org/wiki/Judge_Dredd">Judge Dredd</a></em>.</p>
<blockquote>
<p>Keep the peace. That was the thing. People often failed to understand what that meant. You’d go to some life-threatening disturbance like a couple of neighbors scrapping in the street over who owned the hedge between their properties, and they’d both be bursting with aggrieved self-righteousness, both yelling, their wives would either be having a private scrap on the side or would have adjourned to a kitchen for a shared pot of tea and a chat, and they all expected you to sort it out.</p>
<p>And they could never understand that it wasn’t your job. Sorting it out was a job for a good surveyor and a couple of lawyers, maybe. Your job was to quell the impulse to bang their stupid fat heads together, to ignore the affronted speeches of dodgy self-justification, to get them to stop shouting and to get them off the street. Once that had been achieved, your job was over. You weren’t some walking god, dispensing finely tuned natural justice. Your job was simply to bring back peace.</p>
</blockquote>
<p>I said in my <a href="#city-watch">city watch series overview</a> <em>it feels weird to recommend in the 2020s</em> and this book exemplifies why I would recommend them for these times: The city is run by a paranoid, despotic madman; an arm of the city’s law enforcement basically kidnaps people off the street and either tortures or disappears them, and the other branches treat bribery as some sort of due; and it is into this that a skilled leader with principles tries to make a difference – not just against what’s going on, but also against what they know happened before.</p>
<p>The story is masterfully plotted and paced, and makes some of the best use of Pratchett’s narrative style which foregoes letting us in on everything the characters know; we the readers are left to figure out <em>what had happened the first time around</em> mostly by virtue of how it’s different from <em>what is happening this time around</em>; the narrative layering is extremely well-done, from Vimes’s literal chance to be his own mentor to the recurring <em>“angels rise up”</em> song and our growing understanding of its meaning.</p>
<p>You could <em>probably</em> enjoy this book without reading the previous <em>Watch</em> novels, though it is entirely worth reading through them (and <em><a href="#thief-of-time">Thief of Time</a></em> for an into to the Time Monks) to get to this book.</p>
<h3 id="wintersmith" section-marker="yes"><a class="sectionMark" rel="bookmark" href="#wintersmith">§</a><em>Wintersmith</em> (book 35) </h3>
<p>Thirteen-year-old Tiffany is now apprenticing with Miss Treason, a witch of 113 years who scares the people of her steading. Miss Treason takes Tiffany to the dark <a href="https://en.wikipedia.org/wiki/Morris_dance">Morris dance</a> to welcome in the winter, which Tiffany joins in despite Miss Treason’s stern (and mysterious) warnings not to. Tiffany has disrupted some very powerful magic, and if she doesn’t put things right, winter will never end.</p>
<p>As with the previous Tiffany Aching books, this is a coming-of-age story; partly about courtship and romance (and the experience of being the target of persistent, unrequited obsession) and partly again, about taking responsibility for one’s actions. While the main plot with the titular ice elemental is pretty flat, I did enjoy the ending.</p>
<p>What I really enjoy about this book is Tiffany’s interactions with the other witches – the slow discovery of Miss Treason’s secret, the indirect training of Tiffany that Granny Weatherwax has taken on, the way Tiffany rallies the other young witches to support a disliked fellow. This is also the best portrayal of Nanny Ogg in the entire set of books. And, how all of this is a way of teaching the headstrong Tiffany empathy:</p>
<blockquote>
<p>A witch didn’t do things because they seemed a good idea at the time! That was practically cackling. You had to deal every day with people who were foolish and lazy and untruthful and downright unpleasant, and you could certainly end up thinking that the world would be considerably improved if you gave them a slap. But you didn’t because, as Miss Tick had once explained:</p>
<p>a) it would make the world a better place for only a very short time;<br>
b) it would then make the world a slightly worse place; and<br>
c) you’re not supposed to be as stupid as they are.</p>
</blockquote>
<h3 id="jingo" section-marker="yes"><a class="sectionMark" rel="bookmark" href="#jingo">§</a><em>Jingo</em> (book 21) </h3>
<p>A lost land rises from the sea, halfway between Ankh-Morpork and the desert empire of Klatch, and both countries seek to lay claim to it. War breaks out after an assassination attempt on the Klatchian prince while he’s visiting Ankh-Morpork; Lord Vetinari resigns by law, leaving the city under the martial command of Lord Rust, eager for a military victory he has no capacity to earn, but who nevertheless believes wars are outside the rules of justice. Sam Vimes disagrees, and just maybe he can stop the war before it gets underway.</p>
<p>This is my favorite book thus far in the publication order; it also relies the most on the previous characterizations of everyone in the Watch series; the contrast between Carrot’s idealistic rules-following – which gets him sucked into the war – and Vimes’s cynicism and distrust of rules (despite his job of enforcing them). The way Vimes approaches stopping the war is one of my favorite moments in the entire collection of books. In particular, as someone living in the United States in the 2020s, the relationship between Vimes and Rust is particularly satisfying:</p>
<blockquote>
<p>Not a muscle moved on Rust’s face. There was a <em>clink</em> as Vimes’s badge was set neatly on the table.</p>
<p>“I don’t have to take this,” Vimes said calmly.</p>
<p>“Oh, so you’d rather be a civilian, would you?”</p>
<p>“A watchman <em>is</em> a civilian, you inbred streak of pus!”</p>
</blockquote>
<p>Furthermore, this book provides one of the longest glimpses in the entire series to watching Vetinari at work, which was quite satisfying thanks to the provided mystery and source of humor from the usual Watch comic relief.</p>
<h3 id="the-last-hero" section-marker="yes"><a class="sectionMark" rel="bookmark" href="#the-last-hero">§</a><em>The Last Hero</em> (book 27) </h3>
<p>Cohen the Barbarian and his elderly horde are having one final adventure: returning fire to the gods — with interest. That is, they plan to blow up Cori Celesti, home of the gods. Ankh-Morpork gets wind of this, and realize it will disrupt the Disc’s magical field enough to effectively destroy the world, so they launch a mission to stop him, bringing Rincewind along as liaison.</p>
<blockquote>
<p>Lord Vetinari was not a man who delighted in the technical. There were two cultures, as far as he was concerned. One was the real one, the other was occupied by people who liked machinery and ate pizza at unreasonable hours.</p>
</blockquote>
<p>This is a short book that also comes in a version richly-illustrated by longtime Discworld illustrator Paul Kidby, and I <em>highly</em> recommend tracking down a physical copy of that from your library if they have it. It’s a good story, and the best one to prominently feature Rincewind; though it helps that he’s only one of a handful of main characters. The main subtext about heroes and stories didn’t land for me, but I didn’t care too much – Cohen and his entourage’s banter was quite funny regardless. We get our longest view yet of Leonard du Quirm – the disc’s equivalent of Leonardo d’Vinci – and his flying machine was a blast (literally and figuratively). We also get a significant chunk of time with the Librarian, who livens up every book he’s in.</p>
<p>If you’re already familiar with the Ankh-Morpork cast of characters but haven’t read any of the previous Wizard books, you’ll probably do okay with this one; the UU faculty are featured in <em>Interesting Times</em> and <em>The Last Continent</em>, and Cohen’s horde is featured in <em>Interesting Times</em>, but those books aren’t very good and if you don’t mind picking things up as you go and otherwise suspending your disbelief enough taking certain ideas as given (something Discworld encourages), you can skip them.</p>
<h3 id="unseen-academicals" section-marker="yes"><a class="sectionMark" rel="bookmark" href="#unseen-academicals">§</a><em>Unseen Academicals</em> (book 37) </h3>
<p>Unseen University discovered that one of their major endowments depends on the college running a football (soccer) team, and will soon expire from neglect unless they play a game. Meanwhile, some of the university’s support staff are involved with rival teams for street football – a rowdy, violent game where the crowd moves the field about as part of “the shove” – and they suspect the wizards are up to something. What will become of Ankh-Morpork’s first <em>official</em> football game in decades?</p>
<p>This is hands-down the best book in the wizards series, mostly because it relegates the wizards to supporting characters and instead focuses on four of their support staff, all of whom are very well-written and enjoyable to read.</p>
<p>Without getting too into spoilers, one of the main characters provides a direct challenge to the <a href="https://en.wikipedia.org/wiki/Tolkien_and_race#Orcs_and_evil">racist fantasy trope that a species/race created to be evil is irredeemable</a> and how such a notion is inherently incompatible with the idea of free will.</p>
<p>This book also contains perhaps the best Vetinari speech in the series:</p>
<blockquote>
<p>The Patrician took a sip of his beer. “I have told this to few people, gentlemen, and I suspect never will again, but one day when I was a young boy on holiday in Uberwald I was walking along the bank of a stream when I saw a mother otter with her cubs. A very endearing sight, I’m sure you will agree, and even as I watched, the mother otter dived into the water and came up with a plump salmon, which she subdued and dragged on to a half-submerged log. As she ate it, while of course it was still alive, the body split and I remember to this day the sweet pinkness of its roes as they spilled out, much to the delight of the baby otters who scrambled over themselves to feed on the delicacy. One of nature’s wonders, gentlemen: mother and children dining on mother and children. And that’s when I first learned about evil. It is built into the very nature of the universe. Every world spins in pain. If there is any kind of supreme being, I told myself, it is up to all of us to become his moral superior.”</p>
</blockquote>
<p>My main gripe with this book comes from the repeated desire for “worth” by Mr. Nutt, where it came from and why, and how horribly that conflicts with a more tranquil notion of purpose as discussed in <a class="internal" href="/book-recommendations/monk-and-robot">Monk and Robot</a> about how it’s enough to just… <a href="https://www.goodreads.com/quotes/10892378-you-keep-asking-why-your-work-is-not-enough-and">exist</a>. This is a recurring theme for Pratchett in the later books, and it bothers me in the same way that a lot of how his antagonists are “embodiment of the force of (thing)” bothers me because those ideas have been used to justify real-world harms.</p>
<h3 id="thief-of-time" section-marker="yes"><a class="sectionMark" rel="bookmark" href="#thief-of-time">§</a><em>Thief of Time</em> (book 26) </h3>
<p>Jeremy Clockson, an orphan raised by the guild of clockmakers, is <em>very</em> good at making clocks, but not much else, and is commissioned by a mysterious woman to build the most accurate clock possible. The job comes with an Igor. Lobsang Ludd, an orphan raised by the Thieves Guild with a preternatural ability to move quickly, is discovered by the Monks of Time, whom he gives a challenge, and he’s apprenticed to Lu-Tze the sweeper in an attempt to solve multiple problems at the monastery of time. Meanwhile, Susan Sto-Lat, now a schoolteacher, is summoned by her grandfather because the Auditors of Reality are up to something again, and Susan can do things Death can’t.</p>
<p>I first read this book about twenty years ago and enjoyed it quite a bit at the time, even though I hadn’t read any earlier book in publication order. On the recent read-through, I enjoyed both a bit more and a bit less. I enjoyed it a bit more because I had all the extra context from Susan’s backstory, the previous run-ins with the Auditors, and a bit more appreciation for the metaphysics of what the History Monks are doing.</p>
<p>I enjoyed it a bit less, because I’m far more skeptical now of westerners poking fun at things from other cultures. Nothing in this book approaches the catastrophe that is <em>Interesting Times</em>, but having Lu-Tze’s treasured sayings be reinterpretations of things from a woman who runs an Ankh-Morpork boarding house felt a bit weird. It’s a small wrinkle in an otherwise wonderful invention Pratchett had with the History Monks.</p>
<p>Susan Sto-Lat is at her best in this book, and it’s the best story she’s in – I’m sad to say it’s also the last. The end third after the Auditors of Reality succeed in their plan provides some great commentary about what it means to be alive, and the notion that everything must be orderly and measured is given the sort of ideological thrashing it deserves.</p>
</section>
<rule class="asterism"></rule><section><p>And if you’re still reading this, well, maybe it’s time to go read a book.</p></section>
]]></content:encoded>
            <author>&amp;lt;matthew@lyonhe.art&amp;gt; (Matthew Lyon)</author>
        </item>
        <item>
            <title><![CDATA[Links, February 13th, 2026]]></title>
            <link>https://lyonhe.art/links/2026-02-13</link>
            <guid>https://lyonhe.art/links/2026-02-13</guid>
            <pubDate>Fri, 13 Feb 2026 08:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<section><h3><a href="https://tetronimike.bearblog.dev/i-am-pro-human/">I am Pro-Human</a></h3>
<p>My friend <a href="https://tetronimedia.net">Mike Lasch</a> published this rallying cry in honor of the <a href="https://en.wikipedia.org/wiki/January_30,_2026_protests_against_ICE">January 30th shutdown</a>. I agree with him entirely on this.</p>
<h3><a href="https://exple.tive.org/blarg/2025/06/28/tactile/">Tactile</a></h3>
<p>An <em>excellent</em> piece by <a href="https://exple.tive.org">Mike Hoye</a> about connection, which, being of a similar era and figuring out how I can convey some of these things to my kid, really hit home.</p>
<blockquote>
<p>Every incremental loss is just an increment, a small thing. Even mentioning it feels more nostalgia-complaint than real, and things absolutely were not Better Back Then In My Day. But having grown up with that physicalism, a relationship with stuff that hummed and growled and warmed and hissed and scratched and clanked, having that experience dissolved down to a silent car you start with a button and the sterility of a computing that reduces you to pawing at a piece of glass if it’s even in the same room… I understand.</p>
</blockquote>
<h3><a href="https://blog.discourse.org/2025/10/on-building-communities-in-public-why-i-chose-discourse-over-discord/">On Building Communities in Public: Why I Chose Discourse Over Discord</a></h3>
<p><a href="https://www.reddit.com/r/discordapp/comments/1r05vkj/discord_will_require_a_face_scan_or_id_for_full/">Stuff happened with Discord</a> and a lot of people I know are making a big deal about it. I have thoughts on the whole situation but they’re messy and there’s no good takeaway. This pice by <a href="https://www.joanwestenberg.com">Joan Westenburg</a> on the actual Discourse site offers a good framing for anyone looking to create a community somewhere. It also takes a great stock about the nature of online communities and how to make sustainable and fair ones.</p>
<blockquote>
<p>What we’ve built, in other words, is a system of tiny dictatorships masquerading as communities.</p>
</blockquote>
<p>Discourse lacks <em>real-time chat</em> which is perhaps the big thing I’ve seen to help create very tightly-knit communities, but when I look through the list of thirty-plus discord servers I’m on, twenty-six of those could just as easily be a non-real-time forum for the reasons I’m there. Plus! Forums make it much easier to link to things which happened in the past – searching for something on Discord is a painful and often fruitless experience.</p>
<h3><a href="https://disuye.com/ffab/">FFmpeg Audio Batch</a></h3>
<p>A GUI around <a href="https://ffmpeg.org/download.html">ffmpeg</a>’s audio capabilities:</p>
<blockquote>
<p>FFAB is a GUI wrapper for FFmpeg that makes designing complex audio filter chains easily accessible to non-command-line users. Real-time preview. Drag &#x26; drop filters. Parallel processing, the works.</p>
</blockquote>
<h3><a href="https://theconversation.com/terry-pratchetts-novels-may-have-held-clues-to-his-dementia-a-decade-before-diagnosis-our-new-study-suggests-273777">Terry Pratchett’s novels may have held clues to his dementia a decade before diagnosis, our new study suggests</a> (<a href="https://www.mdpi.com/2076-3425/16/1/94">direct study link</a>)</h3>
<p>I’m very close to wrapping up a <a class="internal" href="/book-recommendations">book recommendations</a> post for Discworld, but at fourteen thousand words so far it may need some editing, even if it is only 350 words per book on average. Having read <em>the entire forty-one book series</em> over the past few years, I found this an interesting read:</p>
<blockquote>
<p>Across Pratchett’s later novels, there was a clear and statistically significant decline in the diversity of adjectives he used. The richness of descriptive language gradually narrowed. This was not something a reader would necessarily notice, nor did it reflect a sudden deterioration in quality. Instead, it was a subtle, progressive change detectable only through detailed linguistic analysis.</p>
</blockquote>
<p>They cite the twenty-second book, <em>The Last Continent</em>, as the turning point for the “preclinical” phase of Pratchett’s dementia; I didn’t care for that book particularly (mostly due to it being a Rincewind novel) but I found this interesting since if you average my personal ratings for the nineteen books before that one (<em>Equal Rites</em> through <em>Jingo</em>) and the nineteen books after (<em>Carpe Jugulum</em> through <em>The Shepherd’s Crown</em>), well: I wouldn’t bother writing a post recommending the first set (<em>maybe</em> something recommending <em>Hogfather</em> and <em>Jingo</em>), but it would be a lot easier to recommend the outstanding second set in isolation.</p>
<p>Perhaps a more interesting overall part of the study is the idea that there are some other dimensions on which we could detect preclinical dementia onset.</p>
</section><rule></rule><section>
<h2>using LLMs means you endorse their effects</h2>
<h3><a href="https://tante.cc/2026/01/25/winning-the-wrong-game/">Winning the wrong game</a></h3>
<blockquote>
<p>It doesn’t matter how good these systems are in reality, because that’s not what your boss cares about. <strong>“AI” is a tool to disenfranchise labor.</strong> That’s the job. If “AI” is actually more expensive than paying actual people actual wages that’s still a good investment for capital because it is about breaking up the structures, networks and organizations that help workers organize and fight for labor standards and fairer wages.</p>
</blockquote>
<h3><a href="https://michiel.buddingh.eu/enclosure-feedback-loop">The Enclosure feedback loop</a></h3>
<blockquote>
<p>And those questions are beautiful training data for those same models. Everything that used to be asked in a public forum, visible to everyone, is now a private confession to an LLM that tells you you’re smart for asking such insightful questions.</p>
</blockquote>
<h3><a href="https://www.documentary.org/column/synthesis-valerie-veatch-connects-ai-and-eugenics-ghost-machine">Valerie Veatch traces the links between AI and eugenics in Sundance-premiering <em>Ghost in the Machine</em></a></h3>
<blockquote>
<p>t is immediately clear that there are huge racial stereotypes in the outputs. It makes prompting embarrassing and hard to do, because you there’s a violence in the image you’re receiving, and you didn’t mean to make that depiction. Then it hypersexualized depictions of women unprompted. You could be prompting “women standing in a coffee shop” and with each iteration of the prompt, she’s losing more clothes.</p>
</blockquote>
<h3><a href="https://firstmonday.org/ojs/index.php/fm/article/view/13628/11604">Debunking robot rights metaphysically, ethically, and legally</a></h3>
<p>Another paper this week, well worth a read in its entirety:</p>
<blockquote>
<p>But the danger is then to think that the essence of the model is in fact a real aspect of the original phenomenon.</p>
<p>Such move mistakes the map for the territory. Throughout history we have compared ourselves metaphorically with the most advanced technology of the time, not just as an epistemological tool, but also making the mistake to insert the mechanics of the technology into ontological claims.</p>
</blockquote>
<h3><a href="https://aftermath.site/steam-machine-frame-delayed-ai-data/">The Steam Machine Has Been Delayed Because Stupid Little Babies Can’t Stop Using AI To Write Their Emails</a></h3>
<blockquote>
<p>Those “memory and storage shortages”, if you <em>haven’t</em> heard about them, are a result of AI data centre usage—or, not even usage, but <em>planned</em> usage</p>
</blockquote>
<h3><a href="https://www.404media.co/vibe-coding-is-killing-open-source-software-researchers-argue/">Vibe Coding Is Killing Open Source Software, Researchers Argue</a></h3>
<p>Another summary of a study – third this week!</p>
<blockquote>
<p>This won’t end well. “Vibe coding is not sustainable without open source,” Koren said. “You cannot just freeze the current state of OSS and live off of that. Projects need to be maintained, bugs fixed, security vulnerabilities patched. If OSS collapses, vibe coding will go down with it. I think we have to speak up and act now to stop that from happening.”</p>
</blockquote></section>]]></content:encoded>
            <author>&amp;lt;matthew@lyonhe.art&amp;gt; (Matthew Lyon)</author>
        </item>
        <item>
            <title><![CDATA[Links, Jan 23rd, 2026]]></title>
            <link>https://lyonhe.art/links/2026-01-23</link>
            <guid>https://lyonhe.art/links/2026-01-23</guid>
            <pubDate>Fri, 23 Jan 2026 08:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<page-info></page-info>
<section><h3><a href="https://deadsimpletech.com/blog/the_problem_is_culture">The problem is culture</a></h3>
<p>An incredibly great essay about “honor culture” versus “engineering culture” in software on a fulcrum of <em>coding agents</em>, for which I had a hard time finding a single great quote, but this one captures the trust of the piece:</p>
<blockquote>
<p>A popular aphorism in my Bluesky bubble is “Everything is gender”, and this is unfortunately quite applicable in this situation. Given the way in which the technical equivalent of “women’s work” is essentially shoved under the rug or stigmatised as being unmasculine, tools that are made primarily by men and for men completely fail to take women’s work into account. Then, by a subtle sleight of hand, the work that is valued and seen as “technical” becomes the work that can be done most effectively by coding agents, and thus, in the tech culture, becomes valuable <em>de facto</em>.</p>
</blockquote>
<h3><a href="https://runjak.codes/posts/2026-01-21-adversarial-coding-test/">An adversarial coding test</a></h3>
<p>I have been contacted by people wanting to “partner” with me on interviewing candidates, “just pull down this code and check it out!” And every single one I’ve looked into has been an attempt to execute code on my computer.</p>
<p>This is one person’s tale on being about the receiving end of one of these hacking attempts, particularly involving VSCode’s “trust” model.</p>
<p>Anyway, as the piece concludes, be careful out there.</p>
<h3><a href="https://blog.mikeswanson.com/backseat-software/">Backseat Software</a></h3>
<p>This is a piece about how currently-popular software development methodologies encourage a <a href="/links/2026-01-16/#If-users-notice-your-software-you-re-already-a-loser"><strong>NOTICE ME</strong></a> mentality:</p>
<blockquote>
<p>What if your car worked like so many apps? You’re driving somewhere important…maybe running a little bit late. A few minutes into the drive, your car pulls over to the side of the road and asks:</p>
<p><em>“How are you enjoying your drive so far?”</em></p>
</blockquote>
<p>It ends with some really great recommendations about how to avoid these traps:</p>
<ol>
<li><p>Make interruptions opt-in, and make opt-out permanent</p></li>
<li><p>Separate product health telemetry from growth telemetry</p></li>
<li><p>Use analytics as a flashlight, not a steering wheel</p></li>
<li><p>Optimize for trust, not just return visits</p></li>
<li><p>Ship a real “quiet mode”</p></li>
</ol>
<p>These are hard, because incentives in companies tend to be stacked against them. There’s no technical reason things are this way; but there’s plenty of business reasons they are.</p>
<p>Conversely, our car <em>has</em> stranded us somewhere for an hour, making us late to an appointment, because apparently that’s a thing cars can do now.</p>
<h3><a href="https://www.404media.co/feds-create-drone-no-fly-zone-that-would-stop-people-filming-ice/">Feds Create Drone No Fly Zone That Would Stop People Filming Ice</a></h3>
<p>(free membership with 404 Media required)</p>
<blockquote>
<p>The order is particularly notable because it does not apply just to static locations like DHS offices, but also to “vessels and ground vehicle convoys and their associated escorts.” The notice classifies areas within 3,000 feet horizontally and up to 1,000 feet of altitude as no fly zones and as “national defense airspace,” meaning the skies up to a half mile from ICE vehicles in Minneapolis, for example, could fall under this new jurisdiction.</p>
</blockquote>
<p>I’ve long had an interest in aerial landscape photography and finally got my first drone for the purpose over the recent holidays. This has involved learning a <em>lot</em> about airspace, how it’s governed and administered, how to be a responsible user of it, and so on. Through this, I’ve also become aware of some conspiracy-level theories about how the <a href="https://www.wired.com/story/whats-going-on-with-the-dji-drone-ban/">DJI ban</a> is supposedly a first step to prevent US citizens from using them in a manner <a href="https://apnews.com/article/russia-ukraine-war-interceptors-drones-nato-c7b57962e573b344490b07b2cfead856">similar to the Ukraine</a> – a category error that puts one into tinfoil hat territory.</p>
<p>Anyway, one of the core principles of drone operation is that you need to check <em>at the time of flight</em> to make sure the airspace you want to use is still open; failure to do so can get you into really hot water – a TFR (<a href="https://tfr.faa.gov/tfr3/?page=list">temporary flight restriction</a>) can go into place for reasons such as visiting heads of state, or near sports arenas during events at them, but now it seems that is being extended in a manner meant to prevent people from documenting what the government is doing in their neighborhoods. One doesn’t have to weaponize drones to make them dangerous to people in power.</p>
<p>There don’t seem to be any TFRs in place in Minneapolis as of this writing.</p>
<h3><a href="https://www.seangoedecke.com/gas-and-ralph/">Crypto grifters are recruiting open-source AI developers</a></h3>
<p>I did not know about developer-centered memecoins, but am not surprised by it <em>at all</em>. It’s pump-and-dump as-a-service.</p>
<blockquote>
<p>Incidentally, this is why AI open-source software engineers make such great targets. The fact that they’re open-source software engineers means that (a) a few hundred thousand dollars is enough to dazzle them, and (b) their fans are technically-engaged enough to be able to figure out how to buy cryptocurrency.</p>
</blockquote>
<h3><a href="https://www.baldurbjarnason.com/notes/2026/note-on-debating-llm-fans/">‘AI’ is a dick move, redux</a></h3>
<p>I’ve linked to <a href="https://www.baldurbjarnason.com">Baldur</a> <a href="https://lyonhe.art/links/2025-01-03/#Theory-building-and-why-employee-churn-is-lethal-to-software-companies">many</a> <a href="https://lyonhe.art/links/2024-11-15/#The-Counterculture-Switch-creating-in-a-hostile-environment">times</a> <a href="https://lyonhe.art/links/2024-11-08/#Plan-B-it-is">before</a> but not for the last year; I agreed too much with the thrust of this piece. LLM Chatbots and Diffusion-based image generators have harmful side effects on the order of <a href="https://en.wikipedia.org/wiki/Radium_Girls">radium</a>, <a href="https://en.wikipedia.org/wiki/Tetraethyllead">leaded gasoline</a>, and <a href="https://en.wikipedia.org/wiki/Asbestos">asbestos</a>, and hand-waving all of those away because you personally find them useful, well, that tells me everything I need to know about whether I can trust you.</p>
<blockquote>
<p>Somebody who is capable of looking past “ICE is using LLMs as accountability sinks for waving extremists through their recruitment processes”, generated abuse, or how chatbot-mediated alienation seems to be pushing vulnerable people into psychosis-like symptoms, won’t be persuaded by a meaningful study. Their goal is to maintain their personal benefit, as they see it, and all they are doing is attempting to negotiate with you what the level of abuse is that you find acceptable.</p>
</blockquote></section>]]></content:encoded>
            <author>&amp;lt;matthew@lyonhe.art&amp;gt; (Matthew Lyon)</author>
        </item>
        <item>
            <title><![CDATA[Links, Jan 16, 2026]]></title>
            <link>https://lyonhe.art/links/2026-01-16</link>
            <guid>https://lyonhe.art/links/2026-01-16</guid>
            <pubDate>Fri, 16 Jan 2026 08:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<page-info></page-info>
<section><p>I made a big push this week to drain my link inboxes, and there was some great stuff in them.</p>
<h2>Music Stuff</h2>
<h3><a href="https://boorch.itch.io/dronage-terminal">Dronage Terminal</a></h3>
<p>A terminal-based audio synthesizer featuring 4 instances of the open-sourced <a href="https://pichenettes.github.io/mutable-instruments-documentation/modules/braids/">Braids</a> by Mutable Instruments. It eschews traditional note names or MIDI control in favor of keyboard control, a built-in parameter sequencer, and specifying frequencies directly.</p>
<h3><a href="https://qsynthi.com">QSynthi</a></h3>
<p>A free audio-plugin which explores “the sonic potential of the Schrödinger Equation”. To my ears it sounds a lot like <a href="https://en.wikipedia.org/wiki/Additive_synthesis">additive synthesis</a> and <a href="https://noiseengineering.us/blogs/loquelic-literitas-the-blog/getting-started-wavefolders/">wavefolding</a>, but it’s fun to see ideas like this take hold.</p>
<h3><a href="https://dsp56300.wordpress.com/je8086/">JE8086</a></h3>
<p>A free, <a href="https://github.com/dsp56300/gearmulator">open source</a> bit-accurate emulation of the <a href="https://www.vintagesynth.com/roland/jp-8000">Roland JP-8000</a> – a beloved and pioneering <a href="https://en.wikipedia.org/wiki/Analog_modeling_synthesizer">analog modeling synthesizer</a> released in the ’90s – available for Linux as well as more popular desktop operating systems. It requires a separate download of <a href="https://www.roland.com/global/support/by_product/jp-8000/updates_drivers/ed5d25d9-77b3-49f9-9d0e-be7ec209aab7/">the firmware</a>.</p>
<p>While its creators, <a href="https://dsp56300.wordpress.com">The Usual Suspects</a> have released <a href="https://dsp56300.wordpress.com/osirus/">other</a> <a href="https://dsp56300.wordpress.com/vavra/">emulations</a> of <a href="https://dsp56300.wordpress.com/xenia/">classic</a> <a href="https://dsp56300.wordpress.com/nodalred2x-downloads/">synths</a>, this one is notable for the process of how they reverse-engineered it, as opposed to working off of documented specifications; as <a href="https://media.ccc.de/v/39c3-from-silicon-to-darude-sand-storm-breaking-famous-synthesizer-dsps#t=3">this talk</a> explains, they used automated computer vision processes to identify microchips and circuit layout, and direct probing of the main computation chip. The process sounds similar to what <a href="https://www.plogue.com">Plogue</a> uses for their excellent <em>Chipsynth</em> series, but it’s hard to tell because Plogue isn’t as open about their process.</p>
<h3><a href="https://github.com/juho/ft2-plugin?tab=readme-ov-file">Fasttracker II Plugin</a></h3>
<p><a href="https://en.wikipedia.org/wiki/FastTracker_2">FastTracker II</a> as an open-source cross-platform audio plugin, based on the <a href="https://github.com/8bitbubsy/ft2-clone">standalone port</a>. I find it hard to be productive with trackers these days, but they were responsible for first giving me the feeling that I could actually compose music I liked. If you want to play with the tools a bit without going full <a href="https://www.renoise.com">Renoise</a>, it’s a great way to get your toes wet.</p>
<h2>Computer Stuff</h2>
<h3><a href="https://heatherburns.tech/2026/01/16/the-darnella-test-of-social-media-and-smartphone-regulation/">The Darnella test of social media and smartphone regulation</a></h3>
<p><a href="https://heatherburns.tech">Heather Burns</a> on the recent legislative trend of banning teens from social media:</p>
<blockquote>
<p>And if you have never once stopped to reflect on how these sanctimonious proposals, as they always do, come from affluent white upper middle class Mrs Jellybys who live in bubbles of privilege with nannies and au pairs and bottomless budgets for advocacy campaigns run as personal crusades, that’s because you are probably one of them.</p>
</blockquote>
<h3><a href="https://ferd.ca/software-acceleration-and-desynchronization.html">Software Acceleration and Desynchronization</a></h3>
<p><a href="https://ferd.ca">Fred Hebert</a>, who I’ve <a href="https://lyonhe.art/links/2024-07-26/#Paper-Designing-for-Expertise">linked</a> to <a href="https://lyonhe.art/links/2025-06-13/#The-Gap-Through-Which-We-Praise-the-Machine">before</a>, on the systems in which code exist in service of software <em>engineering</em>, and the disconnect that occurs when people believe the role of developers is to <em>write code</em>:</p>
<blockquote>
<p>But code reviewing is not just about finding errors. It is also used to discuss maintainability, operational concerns, to spread knowledge and awareness, to get external perspectives, or to foster broader senses of ownership. These purposes, even if they could be automated or sped up, can all indicate the existence of other loops that people may have to maintain regardless.</p>
</blockquote>
<h3><a href="https://pluralistic.net/2026/01/06/1000x-liability/">Code is a liability (not an asset)</a></h3>
<p><a href="https://pluralistic.net/author/doctorow/">Cory Doctorow</a> is someone I’ve linked to more than Fred, but much less enthusiastically; you can search for him via the search facility above if you want to know why. The crux of this piece is in the title, and it’s on a very similar theme to Fred’s piece:</p>
<blockquote>
<p>“Writing code” is about making code that <em>runs well</em>. “Software engineering” is about making code that <em>fails well</em>. It’s about making code that is legible – whose functions can be understood by third parties who might be asked to maintain it, or might be asked to adapt the processes downstream, upstream or adjacent to the system to keep the system from breaking. It’s about making code that can be adapted, for example, when the underlying computer architecture it runs on is retired and has to be replaced, either with a new kind of computer, or with an emulated version of the old computer</p>
</blockquote>
<h3><a href="https://lea.verou.me/blog/2026/web-deps/">Web dependencies are broken. Can we fix them?</a></h3>
<p>I’ve been taking some time away from the web ecosystem, and am working on a scratch-my-own-itch desktop app in <a href="https://rust-lang.org">Rust</a>, specifically avoiding tools that merely embed a web view for their UI layer. It’s refreshing in many ways, not least of which being how you don’t have to worry about things like:</p>
<blockquote>
<p><strong>But the moment you add that first dependency, everything changes.</strong> You are suddenly faced with a huge <a href="https://lea.verou.me/blog/2025/user-effort/#cliffs">usability cliff</a>: which bundler to use, how to configure it, how to deploy with it, a mountain of decisions standing between you and your goal of using that one dependency.</p>
</blockquote>
<p>This is about more than just <code>npm</code> and <code>node_modules</code>, but also explores the commonly-presented alternatives and how in many ways they’re <em>worse</em> than what we have with bundlers and npm.</p>
<p>For a variety of reasons, I tackled this problem from a first-principles approach in building the rendering pipeline for this website. I wanted simultaneously to be able to use things like <a href="https://www.solidjs.com">solidjs</a> for existing interactive pages like <a class="internal" href="/golden-times">Golden Times</a> or <a class="internal" href="/segmenting-fields">Segmenting Fields</a> while having an entirely separate “build pipeline” for newer ones like <a class="internal" href="/login-bingo">Login Bingo</a> or a piece I haven’t finished yet that makes heavy use of <a href="https://d3js.org">d3.js</a>. It put me closer to the nuts and bolts of javascript build tools and their assumptions than I had been in over a decade, and it took some doing to come up with a solution I’m (still, thankfully) happy with: any page that needs its own assets has a frontmatter manifest that is in theory modular but for now just uses <a href="https://esbuild.github.io">esbuild</a> to compile a bunch of source material into outputs, such as this one for <a class="internal" href="/golden-times">Golden Times</a>:</p>
<pre><code class="language-yaml">builds:
  - type: esbuild
    entry: goldentime.jsx
    plugins:
      - import: esbuild-plugin-solid
        fn: solidPlugin
        opts:
          solid:
            moduleName: 'solid-js_v1/web'
</code></pre>
<p>Javascript build tooling and dependency management aren’t built to create augmented <em>pages</em>, but rather build monolithic <em>apps</em>, and this is very much the antithesis of the <a href="https://www.azquotes.com/quote/721067">Larry Wall quote</a>: <em>“Easy things should be easy, and hard things should be possible.</em></p>
<blockquote>
<p>Like <a href="https://en.wikipedia.org/wiki/Boiling_frog">boiling frogs</a>, <strong>JS developers have resigned themselves to immense levels of complexity and gruntwork</strong> as simply <em>how things are</em>.</p>
</blockquote>
<p>The author of this piece also tries to propose some new techniques based on existing parts of the web stack, though I’m not entirely sold on it.</p>
<h3><a href="https://muppet-labs.notion.site/Falsehoods-People-Believe-About-Computers-2deac683c1b580ba8f4febd92b935afb">Falsehoods People Believe About Computers</a></h3>
<blockquote>
<ol start="21">
<li><p>Some forms of technology-based harm are inherently unpredictable and no one should be punished for them, provided the revenue-receiving party either claims to have had good intentions or can point to some other party who is ultimately responsible.</p></li>
</ol>
</blockquote>
<p>I have had to spend a lot of time arguing with people about this one in particular; it seems a lot of people aren’t aware of <a href="https://en.wikipedia.org/wiki/The_Unaccountability_Machine">The Unaccountability Machine</a>.</p>
<h3><a href="https://pivot-to-ai.com/2026/01/10/if-users-notice-your-software-youre-already-a-loser/">If users notice your software, you’re already a loser</a></h3>
<blockquote>
<p>You get a computer at all because you’ve got a job to do. So you get software to do the job. And you need to run that software on a machine, and it’ll have an operating system platform.</p>
<p>Neither the computer nor the platform are supposed to be noticed. If you notice it, your work crashes to a halt.</p>
<p>If you’re making a platform and anyone notices it, you’ve already lost.</p>
<p>Platforms <em>must</em> be transparent. All these platforms start transparent, then some marketer needs some resume juice, they make the platform go NOTICE ME and they think they’re the star of the show.</p>
</blockquote>
<p>All the major mainstream software vendors seem to have forgotten this, they’re all ruled by people who scream NOTICE ME now.</p>
<h3><a href="https://noheger.at/blog/2026/01/11/the-struggle-of-resizing-windows-on-macos-tahoe/">The struggle of resizing windows on macOS Tahoe</a></h3>
<p>Per the previous link, Liquid Glass went hard into <strong>NOTICE ME</strong> territory. Design is about the things you’re not <em>supposed</em> to notice, like how you resize a window:</p>
<blockquote>
<p>in the end, the most reliable way to resize a window in Tahoe is to grab it <strong>outside</strong> the corner – a gesture that feels unnatural and unintuitive, and is therefore inevitably error-prone</p>
</blockquote>
<h3><a href="https://shkspr.mobi/blog/2025/01/do-you-understand-how-fast-computers-are/">Do you understand how fast computers are?</a></h3>
<blockquote>
<p>And yet, think about every interaction you have with a computer in public? Ticket machines asthmatically wheeze as they slowly trick you into buying the most expensive option. Passing through an airport seems to involve waiting impatiently at a number of desks while arthritic mainframes slowly coalesce your data. Advertising screens stutter and jerk their way through low-framerate videos trying to sell you perfume. Every time you speak to a call centre, I guarantee someone says “sorry, my system’s running slow today.”</p>
</blockquote>
<p>One of my fist jobs was working at the telephone support call center for a major package distributor, at the dawn of the world wide web; we worked at dumb terminals hanging off a mainframe, and most calls were of the <em>can you look up this tracking number?</em> variety. We had to code calls by category as we fielded them, and the expected average response time for providing tracking information was three minutes. Yes, things have improved, but not linearly with the improvements in hardware.</p>
<h2>GenAI is eating itself</h2>
<h3><a href="https://flatt.tech/research/posts/pwning-claude-code-in-8-different-ways/">Pwning Claude Code in 8 Different Ways</a></h3>
<blockquote>
<p>A few months ago, I came across an interesting behavior while using Claude Code—it executed a command without my approval.</p>
</blockquote>
<p>YOLO vibes.</p>
<h3><a href="https://www.schneier.com/blog/archives/2026/01/ai-and-the-corporate-capture-of-knowledge.html">AI and the Corporate Capture of Knowledge</a></h3>
<p><a href="https://www.schneier.com">Bruce Schneier</a> joins the resistance, putting LLM chatbots in context with <a href="https://www.sfgate.com/technology/article/Open-access-tributes-to-Aaron-Swartz-4193965.php">the fight that cost Aaron Swartz his life</a>:</p>
<blockquote>
<p>As search, synthesis and explanation are mediated through AI models, control over training data and infrastructure translates into control over what questions can be asked, what answers are surfaced, and whose expertise is treated as authoritative. If public knowledge is absorbed into proprietary systems that the public cannot inspect, audit or meaningfully challenge, then access to information is no longer governed by democratic norms but by corporate priorities.</p>
</blockquote>
<h3><a href="https://blog.bandcamp.com/2026/01/13/keeping-bandcamp-human/">Keeping Bandcamp Human</a></h3>
<p>Bandcamp is banning AI-generated music from their platform:</p>
<blockquote>
<p>We believe that the human connection found through music is a vital part of our society and culture, and that music is much more than a product to be consumed.</p>
</blockquote>
<p>This is, however, the same company that fired a bunch of their workforce when they tried to unionize.</p>
<h3><a href="%5Bhttps://yarnspinner.dev%5D(https://yarnspinner.dev/blog/why-we-dont-use-ai/)">Why We Don’t Use AI</a></h3>
<p><a href="https://yarnspinner.dev">Yarnspinner</a> makes tools for managing narrative in games; dialog trees, UI, localization, etc, and they talk about their long journey in exploring how they could integrated machine learning tools into their products, and why they’re not integrating with popular genAI tooling:</p>
<blockquote>
<p>it was clear that the AI we liked was not what the tech companies were interested in. They were increasingly about generative imagery, chatbots writing your material for you, and summaries of art instead of exposure to it. Efforts to mitigate known problems (reinforcing cultural biases, being difficult to make deterministic or explainable) were disparaged and diminished. Researchers and developers who raised concerns were being fired.</p>
</blockquote>
<h3><a href="https://www.ign.com/articles/warhammer-maker-games-workshop-bans-its-staff-from-using-ai-in-its-content-or-designs-says-none-of-its-senior-managers-are-currently-excited-about-the-tech">Warhammer Maker Games Workshop Bans Its Staff From Using AI in Its Content or Designs, Says None of Its Senior Managers Are Currently Excited About the Tech</a></h3>
<p>I have been actively repulsed by military fiction my entire life, and as such never got into Warhammer, but as an artist I definitely understand the appeal of its  artwork (both official and fandom) and lore. And it seems that Games Workshop understand this as well:</p>
<blockquote>
<p>“We do have a few senior managers that are [experts on AI]: none are that excited about it yet. We have agreed an internal policy to guide us all, which is currently very cautious e.g. we do not allow AI generated content or AI to be used in our design processes or its unauthorised use outside of GW including in any of our competitions. We also have to monitor and protect ourselves from a data compliance, security and governance perspective, the AI or machine learning engines seem to be automatically included on our phones or laptops whether we like it or not.</p>
<p>“We are allowing those few senior managers to continue to be inquisitive about the technology. We have also agreed we will be maintaining a strong commitment to protect our intellectual property and respect our human creators. In the period reported, we continued to invest in our Warhammer Studio — hiring more creatives in multiple disciplines from concepting and art to writing and sculpting. Talented and passionate individuals that make Warhammer the rich, evocative IP that our hobbyists and we all love.”</p>
</blockquote></section>]]></content:encoded>
            <author>&amp;lt;matthew@lyonhe.art&amp;gt; (Matthew Lyon)</author>
        </item>
        <item>
            <title><![CDATA[Links, Jan 2nd, 2026]]></title>
            <link>https://lyonhe.art/links/2026-01-02</link>
            <guid>https://lyonhe.art/links/2026-01-02</guid>
            <pubDate>Fri, 02 Jan 2026 08:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<page-info></page-info>
<section><h3><a href="https://harpers.org/archive/2024/05/the-life-and-death-of-hollywood-daniel-bessner/">The Life and Death of Hollywood</a></h3>
<p>What happens when capital hollows out the industry around an art form. It’s worth noting that most creative industries don’t have <em>nearly</em> the strong history of labor protections that Hollywood has.</p>
<blockquote>
<p>Today’s business side does not have a necessary vested interest in “the business”—in the health of what we think of as Hollywood, a place and system in which creativity is exchanged for capital. The union wins did not begin to address this fundamental problem.</p>
</blockquote>
<p>Something similar has been happening in music software lately, as private equity acquires company after company, with some smaller companies bypassing a large payday in exchange for their creative ownership; I expect something similar will happen with video games as well.</p>
<h3><a href="https://www.mcsweeneys.net/articles/i-work-for-an-evil-company-but-outside-work-im-actually-a-really-good-person">I work for an evil company but outside work I’m actually a really good person</a></h3>
<p>McSweeney’s lays the satire on thick:</p>
<blockquote>
<p>Mathematically, it might seem like I spend a disproportionate amount of my time making the world a significantly less safe and less empathetic place, but are you counting all the hours I spend sleeping? You should.</p>
</blockquote>
<h3><a href="https://alextheward.com/blog/llms_are_a_cognitohazard/">LLMs are a Cognitohazard</a></h3>
<p>A thorough takedown of the common justifications people use for generative AI tech.</p>
<blockquote>
<p>Why would I use electricity for this? I can grab a coffee, stare out the window, or talk to an inanimate object on my desk and generate a ton of stupid ideas that I can then iterate on, and I’ve found that works out way better than running a GPU to spit out “ideas”.</p>
</blockquote>
<h3>Programming Language Creators on LLMs</h3>
<p>Rich Hickey, creator of <a href="https://clojure.org">Clojure</a> (the only language of which I’ve used professionally I actually have any love for) <a href="https://gist.github.com/richhickey/ea94e3741ff0a4e3af55b9fe6287887f">thanks AI</a> for destroying education, the environment, raising utility rates, eliminating entry-level jobs, and more:</p>
<blockquote>
<p>Ah, Christmas time. That time of year when our hearts are warmed by the best wishes of an idiot robot. All tingly from the experience, and in the holiday spirit, I thought I’d write my own letter</p>
</blockquote>
<p>Rob Pike, creator of <a href="https://go.dev">Go</a> (of all the other languages I’ve used professionally, the one I perhaps dislike the least) offers instead <a href="https://bsky.app/profile/robpike.io/post/3matwg6w3ic2s">some more colorful language</a>.</p>
<h3><a href="https://fozmeadows.substack.com/p/against-ai">Against AI</a></h3>
<p>A strong and well-argued case that you can’t just set the bad ethics of gen-AI tech aside, as many people I used to respect have argued, because apparently ethics aren’t convenient to them anymore:</p>
<blockquote>
<p>AI is harmful in every possible way. It’s a highly inaccurate plagiarism tool built on creative theft, accelerated environmental destruction, human rights abuses, heightened risks of psychosis, sexual blackmail, educational collapse and the erosion of our collective sense of truth, and the only reason it’s ubiquitous despite all this is because a handful of sociopathic billionaires working in a highly unregulated field have doubled and tripled down on putting it in everything</p>
</blockquote>
<h3><a href="https://lmnt.me/blog/and-stay-out.html">And Stay Out</a></h3>
<p>Visual designer <a href="https://lmnt.me">Louie Mantia</a> on Jony Ive’s legacy at Apple in the post-Jobs era:</p>
<blockquote>
<p>But as he became wealthier, he started to conflate good taste with luxury. Jony often described Apple products with words about craft, material, and precision, all things that appeal to a luxury market. Apple shifted away from making products “for the rest of us” and started making products that appealed specifically to rich people.</p>
<p>Not to put too fine a point on it, but they started making products that appealed to <strong>themselves</strong>.</p>
</blockquote>
<p>There’s also a <a href="https://karbonbased.io/posts/2025/12/and-stay-out">worthwhile response to the piece</a> by iOS app-maker <a href="https://garrettmurray.net">Garrett Murray</a>:</p>
<blockquote>
<p>I hold the opinion iOS 7 was deeply destructive to the field of user interface design. Arguments can be made that “rich corinthian leather” was getting out of hand across Apple’s operating systems, but at least users understood the affordances—<em>buttons looked like buttons</em>.</p>
</blockquote>
<p>A distant family member called me in panic over the holiday because their phone was suddenly unusable after an update. Turns out Apple had deceptively installed iOS 26 for them; I mentioned that I found it so bad I actually wiped my phone and reinstalled iOS 18. Their phone is still on warranty support so I suggested going to the Apple Store and demanding from them that they undo the update, with the caveat that I don’t think they can (or will), but they need to hear from people who don’t like Liquid Glass.</p>
<h3><a href="https://krebsonsecurity.com/2026/01/the-kimwolf-botnet-is-stalking-your-local-network/">The Kimwolf Botnet is Stalking Your Local Network</a></h3>
<p>Brian Krebs details something I suspected was inevitable with the proliferation of everything you buy wanting to connect to your home network:</p>
<blockquote>
<p>The story you are reading is a series of scoops nestled inside a far more urgent Internet-wide security advisory. The vulnerability at issue has been exploited for months already, and it’s time for a broader awareness of the threat. The short version is that everything you thought you knew about the security of the internal network behind your Internet router probably is now dangerously out of date.</p>
</blockquote>
<p>The <a href="https://en.wikipedia.org/wiki/TL;DR">tl;dr</a> of this is, if you have Android devices on your network – including TV boxes or picture frames – they could very easily be compromised by an infected Android phone joining your home network.</p>
<blockquote>
<p>By the time your guest has packed up their things, said their goodbyes and disconnected from your Wi-Fi, you now have two devices on your local network — a digital photo frame and an unsanctioned Android TV box — that are infected with Kimwolf. You may have never intended for these devices to be exposed to the larger Internet, and yet there you are.</p>
</blockquote>
<p>The best remedy for this is to get a router that supports “guest” networks, set that up, only allow trusted devices on the non-guest network, and nothing permanently connected to the guest network.</p></section>]]></content:encoded>
            <author>&amp;lt;matthew@lyonhe.art&amp;gt; (Matthew Lyon)</author>
        </item>
        <item>
            <title><![CDATA[Resolutions and Routines, Intention and Attention]]></title>
            <link>https://lyonhe.art/resolutions-and-routines</link>
            <guid>https://lyonhe.art/resolutions-and-routines</guid>
            <pubDate>Wed, 31 Dec 2025 08:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<page-info></page-info>
<section><p>It’s that time of year again – time to hand-wave my way out of conversations about what my New Year’s Resolutions are. I’ve never liked this tradition; at first because <em>why wait for the calendar odometer to roll over to start doing something?</em> but as I’ve gained in years and learned more about my own patterns and received a <a href="https://www.envisionadhd.com/single-post/what-does-it-mean-to-have-a-late-diagnosis-of-adhd-and-how-do-i-process-it">late diagnosis for ADHD</a>, I’ve also come to realize that, like many people with ADHD, I’m starting new things <em>all the time</em>, and that <strong>year</strong> is the wrong timescale for me to measure things on, because the real challenge isn’t <em>resolving</em> to do something: I resolve to do things multiple times an hour, and thanks to discipline and medication I can follow through. No, it’s making that New Year’s Resolution <em>stick</em> and actually following through. Following through requires a timescale on the order of <em>days</em>.</p>
<p>There is however power in the edges of calendar cycles. I use the first Saturday of the month as the day I schedule a lot of recurring household maintenance tasks; many of these are things that could happen every six weeks instead – but not eight! – but it’s easier for me to have one predictable day I can block out to handle them, and it provides some slack in the case of exceptional situations like traveling. The end of the year is a great time for longer-cycle tasks, such as swapping out expired or expiring emergency supplies or culling my bookshelf or wardrobe or pantry.</p>
<p>What I’ve found for my initiatives is that while I will start something new whenever the ADHD brain feels like it, if I really want to make it work, I have to make it automatic, part of a routine. I started taking my current ADHD medication almost two years ago, and my morning routine starts roughly like this:</p>
<ol>
<li><p>Measure coffee beans, put into coffee grinder, start coffee grinder.
</p><ol>
<li><p>If my partner appeared to be asleep when I left our room, step outside to grind the coffee; the grinder is plugged in right next to our side door.</p></li>
</ol><p></p></li>
<li><p>Rinse coffee carafe, get water for coffee after faucet has ran for at least 15 seconds to remove water sitting in the pipes overnight which my partner doesn’t like for it’s metallic taste.</p></li>
<li><p>Pour water into coffee machine, put carafe in machine.</p></li>
<li><p>Ensure grounds area of machine is empty; put new filter in, put grounds in that.</p></li>
<li><p>Start the coffeemaker.</p></li>
<li><p>Get a mug, go to the refrigerator, put a bit of water in the mug, and set it on counter. If we are not observing Daylight Saving Time, put a drop of Vitamin D in the water.</p></li>
<li><p>Get two plates from the cabinet, and a packet of wet cat food from on top of the refrigerator; open the packet and divvy the gravy up between the plates. Set used packet of cat food next to my mug. Place cat food dishes for the cats.</p></li>
<li><p>Retrieve my mug and the cat food packet from the counter, proceed back to the coffee machine, discarding cat food packet on the way; Retrieve medication from cabinet above coffee maker, take the pill with the water in the mug.</p></li>
<li><p>Swap the mug and carafe on the coffee-maker’s hot plate; pour coffee from carafe into the mug while the mug catches the still-brewing coffee.</p></li>
</ol>
<p>I can generally handle exceptions for the mornings when my partner is downstairs first and feeds the cat and makes the coffee, but if I am doing all of these, I cannot deviate from this pattern lest it all fall apart and I forget to take my medication or even get coffee. If I try to take the medication before feeding the cats, I will get to the refrigerator and the cats will be mewling and rubbing my leg and I will think “I should feed the cats” and entirely forget about the water or the medication. If I don’t get coffee while I am standing at the machine after taking my medication, I might get sucked into my phone and will either delay or forget my morning cuppa – which is <em>an augment</em> to my medication – and my morning is a lot worse for it.</p>
<aside><p>There was a now-deleted post that went something like:<br>
<strong>DEA</strong>: We better keep an eye on these ADHD people for signs of addiction<br>
<strong>ADHD people</strong>: Oh no I forgot to take my highly addictive medication again</p></aside>
<p>Perhaps I could come up with a new routine to do things in a different order, but I’d have to replace the one I have, and I’d still have to follow it in some form of muscle memory or mental checklist. And routines are often fragile – I can have routines I’ve been doing solidly for <em>years</em> break down because I went out of town for a few <em>days</em> – returning from travel often makes it so my usual patterns aren’t usual anymore.</p>
<p>So instead of making resolutions I don’t have the spare executive function to keep on top of the resolutions I’m making <em>all the time</em>, I’ve decided to use this time to instead figure out how to reinforce and strengthen the routines that aren’t as strong as they could be; to instead figure out how to continue doing something, even in the case of disruption.</p>
<p>I also spend some time thinking about timescales. Talk about new year’s resolutions are often in the vein of what one is going to do over the next three hundred and sixty five days, which from a feedback-loop-building perspective is an eternity. You want to read fifty books this year? Great – I’m going to focus on reading four books this month, and calibrate based on how well that went; heck, I might even see how it goes to read two books in two weeks and adjust my goals from there towards something I can realistically achieve – feeling like you’re not living up to your potential is a common thing among the late-diagnosed, and part of the cure is both building discipline and better-understanding what you’re capable of.</p>
<p>The end of the year is a great time for thinking about this kind of routine-strengthening because it’s generally a time of disrupted routines to begin with. My kid is off school for two weeks and while that’s an edge case for my time management, I’ve found that if I can make something work for a common edge case like that it’s going to be a lot more resilient to other disruptive situations.</p>
<p>If this idea speaks to you – strengthening your weaker routines instead of starting new initiatives – please join me in helping make it a more culturally-accepted practice.</p></section>]]></content:encoded>
            <author>&amp;lt;matthew@lyonhe.art&amp;gt; (Matthew Lyon)</author>
        </item>
        <item>
            <title><![CDATA[The Relativity of Naming]]></title>
            <link>https://lyonhe.art/the-relativity-of-naming</link>
            <guid>https://lyonhe.art/the-relativity-of-naming</guid>
            <pubDate>Mon, 29 Dec 2025 08:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<page-info></page-info>
<section><p>Before the pandemic hit, there was a loosely organized weekly lunch among the local developer group – typically meeting somewhere downtown and organized on the group’s Slack, which of course ceased along with the beginning of the COVID quarantine era. About a year into that, a subset of that group (including myself) started meeting for lunch on the patio of a pizza place within a mile of where we all lived; others who lived elsewhere in town were invited, and it was a nice way to commiserate and break the tedium of that era. The developer group Slack atrophied during this time and we’ve kept up the weekly pizza lunches to this day.</p>
<p>Then one of the original group who lived near me moved across town. I live in one of those cities bisected by a significant enough body of water to impact addressing and naming of areas – in our case, <em>“west”</em> and <em>“east”</em> sides – and this shifted the balance of regular attendees enough that we started alternating between meeting on the west and east sides of town. The pizza place’s location where we’ve usually met on the west side is called the <em>Westside</em> location, but the one on the east side is named after the neighborhood it’s in (presumably because this is in an outskirt corner of the city limits) and we sometimes met at this east side location, coordinated on group chat. Everyone referred to the location on the east side as the <em>Eastside</em> location, and everyone knew what was meant because there was only one location of this pizza business on the east side of the water bisecting the city.</p>
<p>And then about two years ago the pizza business opened a third location, also on the east side of town, and named it the <em>Eastside</em> location — presumably unaware of the colloquial naming in our group chat. The original location on the east side of town (the one named after the neighborhood) is more convenient for most of the people who live on the east side of town, but since it’s difficult for those on the west side of town to get to – there are no direct bus lines, and lunchtime parking is highly contentious – we typically meet somewhere downtown instead. But occasionally, due to people being out of town, weather, or some other circumstance, there’s an opportunity to meet at the original location on the east side (the one named after the neighborhood) and some people in the chat still refer to it as the <em>Eastside</em> location, while others interpret that to mean the location officially named <em>Eastside</em>.</p>
<p>Those of us who’ve been in the chat for a while can typically gloss over this because of collective context, but because of the type of work that I do, the imprecision and opportunity for confusion bothers me: Someone new to the chat and aware of all three pizza business locations could accidentally go to the location properly named <em>Eastside</em> and then wonder why no one else showed up. This hasn’t happened yet, but it <em>could</em> and that kind of preventable confusion is something I care about.</p>
</section><rule class="fleur"></rule><section class="leading-thought"><p>This sort of colloquial papering-over of naming happens <em>all the time</em> and for the most part it doesn’t cause much confusion, largely because people tend to be aware of the idea that a name can mean multiple things, and one can generally pick up on contextual cues that perhaps someone understands a name to refer to something other than what one is intending it for. Computers are not good at contextual clues – they do what we tell them to, and exactly what we tell them to; because it’s hard to be perfectly precise in natural languages, we don’t use those to program computers, we use <em>“code”</em> instead.</p>
<p>There’s a joke in programming circles: <em>there are only two hard problems in computer science: cache invalidation, naming things, and off-by-one errors</em>, which is often used as a dig at the <footnote-link id="counting" mark="♦︎">horrible mistake</footnote-link> of <a href="https://en.wikipedia.org/wiki/Zero-based_numbering">zero-based numbering</a>, but there is truth in the idea that both cache invalidation and naming things are indeed hard problems. One of my favorite books about programming (for any language, really), <a href="https://elementsofclojure.com">Elements of Clojure</a> by <a href="https://ideolalia.com">Zach Tellman</a>, devotes one of its four chapters to the fine art of naming.</p>
<p>I don’t want to postulate here about what makes for a good or bad name; rather, I want to point out the tenuous network of associations that allow a name to be good or bad to begin with, and how fragile those can be. Names are hard because a good name requires both context and an adequate amount of pith – defined by my dictionary as <em>the essence of something</em> and <em>a forceful and concise expression</em>. Words like “essence” and “forceful” speak to the idea that good names often rely heavily on the larger context in which they’re used; sometimes a greater context takes precedence, but more often a local and specific one takes precedence instead.</p>
<p>Navigating these contexts can be tricky and for smaller contexts; names are often more in the realm of either <em>culture</em> (this codebase uses the internal codename <code>comrade</code> to refer to individual login accounts in an attempt at solidarity, one of the project’s values) or <em>lore</em> (this codebase refers to individual login accounts under a group account as <code>peon</code> instead of <code>user</code> because the original engineering hire thought it was funny), and neither of these things tend to be documented well, if at all; they’re the sorts of things you learn as you go, and therefore somewhat fragile.</p>
<p>Changes in the greater context can ripple into changes in the smaller one, like in my story about pizza lunches, or for example the artist names of music acts such as the experimental electronic artist <a href="https://www.discogs.com/artist/2839-Twerk">Twerk</a> or the progressive post-metal group <a href="https://www.discogs.com/artist/225447-Isis-6">ISIS</a>, a name also used – and changed – in the animated series <a href="https://en.wikipedia.org/wiki/Archer_(2009_TV_series)#Characters_and_settings"><em>Archer</em></a>, but changes in the larger context are often driven by some other smaller context becoming important enough to gain attention outside of it. Names become good or bad based on their associations and invocations, and those associations can – and do – change. What is a good name for something <em>now</em> could become a bad name in the future.</p>
<p>Naming is a part of language, and languages as spoken <a href="https://en.wikipedia.org/wiki/Natural_language">are organic, not controlled</a>; when the context around a name changes enough to warrant finding a new name because it has become bad, how does that happen? Presumably with <em>Archer</em>, someone with enough authority dictated that a change should occur, and change followed (I don’t actually know this, I’m merely guessing). Sometimes it takes enough people caring about something to to make enough noise about a problem so that a <a href="https://www.theserverside.com/feature/Why-GitHub-renamed-its-master-branch-to-main">billion dollar company changes a default name</a>. Sometimes it takes one person noticing a problem and caring enough that they attempt to herd cats; and maybe that means caring enough <a href="https://www.youtube.com/watch?v=EzgUGY36gqM">to point out something that should be obvious, even if no one else thinks so</a>.</p>
</section>
<rule class="asterism"></rule><footer></footer><section><footnote-def id="counting" mark="♦︎">On Counting vs Measuring</footnote-def>
<p>This idea really deserves its own essay, but here’s the short of it:</p>
<p><em>Measurements</em> of things are typically continuous values using some sort of <em>unit</em> and can include zero in some way; as with temperature, where the as-I’m-writing-this temperature outside is 46 degrees Fahrenheit or 7.8 degrees Celsius; two scales whose units measure the same thing in different amounts and with differing reference points. We measure <em>age</em> in years, and typically round that; we refer to a newborn as “two weeks old” because they have completed zero <em>years</em>, and – despite our entire vocabulary around it, time is a continuous value: epoch time isn’t <em>counting</em> seconds since January 1, 1970; it’s <em>measuring</em> the time elapsed in seconds since then.</p>
<p><em>Counting</em> of discrete items typically starts at one. You can have “zero pigs” just as I have “zero yachts” or “zero spacecraft”, but when you do have some pigs you start counting them with the number one. That the first item in an array is indexed at zero is a <a href="https://en.wikipedia.org/wiki/Null_pointer#History">billion-dollar mistake on par with <em>null references</em></a>. It would be possible, I suppose, for me to have <fraction>1/1000</fraction> of a spacecraft just as <em>I</em> technically have one-half of a car or house (my spouse having the other half), but the number of spaceships involved is still <em>one</em> and my ownership of it would be merely fractional; I could just as well have <fraction>1/1000</fraction> ownership of 1000 individual spacecraft, but that doesn’t mean I own one complete spacecraft by myself. The car or house or spacecraft is a <em>discrete</em> thing – in a manner similar to the joke about the average person having 2.3 children.</p>
<p>I have a rule of thumb for distinguishing which act a number represents: if you cut a thing in half or quarter or whatever, does that change what it is? You can cut an hour in half it’s still an amount of time, just as you can cut a stick of butter in half and it’s still butter. If you cut a car in half it’s no longer a car; perhaps it’s a bunch of scrap, perhaps it’s a museum exhibit, but a car it is no longer.</p>
<p>All of this said, <em>changing</em> the conventions of programming environments such that the first item in an array use an index of <code>1</code> would be an effort on par with <a href="https://lyonhe.art/understanding-time-zones/#not-going-anywhere">eliminating timezones</a>, as I have become convinced by my efforts of going back and forth between <a href="https://www.lua.org">Lua</a> (which does the right thing by custom <a href="https://www.lua.org/pil/11.1.html">starts indexing arrays at 1, though really any value will work</a>) and other languages which do the conventional thing of starting array indexes at zero.</p>
</section>
<section class="further-reading">
<h2>Further Reading</h2>
<h3><a href="https://blog.janestreet.com/whats-in-a-name/">What’s in a name?</a></h3>
<p>A very good piece from Jane Street about how naming is a process of <em>symbol creation</em>, and how manipulating those symbols in computer code is in-turn influenced by the choice of names for those symbols.</p>
<blockquote>
<p>Name choices inflict specific thought processes on people who use them; bad name choices inflict perverse or misleading thought processes, and make it hard to understand what’s happening in a system. Good name choices make it easy and natural to do the right thing—like expressive, well-chosen types, they lead you effortlessly to the terms you wanted to write.</p>
</blockquote>
<h3><a href="https://elementsofclojure.com/manuscript/elements_of_clojure.pdf">Elements of Clojure</a></h3>
<p>Mentioned above, this is one of my favorite books on the topic of computer programming. Zach has apparently made the PDF free in anticipation of <a href="https://explaining.software">his new book, Explaining Software</a></p>
<p>From the chapter on names:</p>
<blockquote>
<p>A town named Dartmouth doesn’t necessarily sit at the mouth of the Dart River. If it did, and the river dried up, the name wouldn’t have to change. In the right context, ‘Dartmouth’ might refer to a crater on the moon. The sign was just a means of pointing at something.</p>
</blockquote></section>]]></content:encoded>
            <author>&amp;lt;matthew@lyonhe.art&amp;gt; (Matthew Lyon)</author>
        </item>
        <item>
            <title><![CDATA[Links, December 26th, 2025]]></title>
            <link>https://lyonhe.art/links/2025-12-26</link>
            <guid>https://lyonhe.art/links/2025-12-26</guid>
            <pubDate>Fri, 26 Dec 2025 08:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<page-info></page-info>
<section><h3><a href="https://www.wrecka.ge/landslide-a-ghost-story/">Landslide; a ghost story</a></h3>
<p><a href="https://erinkissane.com">Erin Kissane</a> is back with a wonderful (if long) piece about how we know things, and how the popularization of social media was an inflection point for decades of changes in how information is disseminated:</p>
<blockquote>
<p>Millions of people came to a new and more accurate understanding of the prevalence of state violence against Black Americans; millions simultaneously came to a new and deranged understanding of vaccines, public health, and even germ theory.</p>
<p>This is what I think is happening: The knowledge substrate of our society has become increasingly loose and disorganized. It’s now composed of an extraordinary variety of highly disparate things that claim to be news, from vivid and skillful investigative reporting to openly partisan propaganda through the distributed op-ed cultures of podcasters, Substackers, and streamers.</p>
</blockquote>
<p>And perhaps more frightfully, how it’s about to get a lot worse.</p>
<h3><a href="https://www.solarshades.club/p/the-kids-are-not-okay-with-tech">The Kids Are Not Okay (With Tech)</a></h3>
<p>A professor does a retrospective on banning device use in their courses, and provides some observations about their students’ relationship with what they perceive as <em>technology</em>, how they haven’t yet learned to channel their anger at feeling shamed by becoming addicted to products designed to be addicted at big systems, and what they perceive as <em>the great literacy crisis</em> – how first-year students often don’t have the grammatical ability to compose coherent sentences.</p>
<p>As the parent of a grade-school kid, I keep an eye on this stuff closely; sooner or later we’re going to have to introduce our kid to the internet, and I am <strong>not</strong> prepared for that. Apparently today’s college students are too:</p>
<blockquote>
<p>Probably the most moving sentiment I heard from them and read in their work was an acute concern for those generations even younger than themselves, Gen Alpha and so on. Zoomers see themselves as having gotten <em>some</em> unmediated childhood play, with core memories of just going outside and running around, climbing trees, etc. But they don’t see their younger siblings getting that same experience. They’re very concerned about iPad babies.</p>
</blockquote>
<h3><a href="https://ploum.net/2025-12-15-communication-entertainment.html">How We Lost Communication to Entertainment</a></h3>
<p><a href="https://en.wikipedia.org/wiki/Fediverse">The Fediverse</a> is an interesting experiment in what social media might look like if it were run by anarchists and co-operatives, and in my time there I’ve witnessed plenty of conflicts about all sorts of things which this piece sums up nicely as</p>
<blockquote>
<p>such irreconcilable opinions do not arise only from ignorance or oversight. It usually means that both parties have vastly different assumptions about the world.</p>
</blockquote>
<p>This is a highly one-sided post about how <a href="https://pixelfed.social/i/web">Pixelfed</a> – an attempt at creating an Instagram-like experience on top of <a href="https://en.wikipedia.org/wiki/ActivityPub">ActivityPub</a> (the plumbing of the Fediverse) – does not display posts which do not contain images. I disagree with many of the points the author of this post makes, but I think the piece is worth reading, regardless, because it strikes at the heart of what makes anarchistic software efforts difficult: people bring different assumptions about what the goal of the thing being built is supposed to be, and as is the nature of assumptions, the differences in these goals often don’t come out until they present as active conflicts.</p>
<h3><a href="https://pivot-to-ai.com/author/david-gerard/">The Resonant Computing Manifesto: same AI slop, same AI guys</a></h3>
<p>If you haven’t heard of <em>“the Resonant Computing Manifesto”</em>, consider yourself lucky – it’s such tripe, I’m not going to link to it. This piece places it in the storied history of Silicon Valley manifestos and what they mean by “freedom”, and just as how, when I’m on the fence about a local election I look at who’s endorsing it or who’s opposing it, when you look at who’s behind this, the motives couldn’t be more clear.</p>
<blockquote>
<p>The Manifesto promises to fix everything that’s wrong on the internet right now. But you look at the authors and the signers, you’ll see the same guys who <em>caused</em> the present problems. These guys made it rich on the Torment Nexus and they’re now claiming they can fix it.</p>
</blockquote>
<h3><a href="https://www.technologyreview.com/2025/12/15/1129179/generative-ai-hype-distracts-us-from-ais-more-important-breakthroughs/">Generative AI hype distracts us from AI’s more important breakthroughs</a></h3>
<p>There is someone in my familial circles who has gotten very into diffusion-based generative artwork, and though they speak about the topic religiously, they try to fend off any criticisms of LLMs or Diffusers with <em>“well AI could also solve cancer!”</em></p>
<p>The idea of <em>Artificial Intelligence</em> is and has always been a marketing term. In my own discussions on the matter I am making a concerted effort to avoid it (much as I try to avoid <a href="https://en.wikipedia.org/wiki/Mistakes_were_made">the exonerative tense</a> and to especially <a href="https://www.fmcsa.dot.gov/newsroom/crash-not-accident">describe traffic <em>accidents</em> as collisions</a>) in favor of describing particular technologies by name.</p>
<p>This piece in the <em>MIT Technology Review</em> does not go that far, but it does hammer on this idea that what it calls <em>“predictive AI”</em> is fundamentally different both in purpose and results, and if you are similarly trying to discuss this sort of thing with people who aren’t as well-versed on the topic, a good thing to send them.</p>
<blockquote>
<p>Alternatively, you could take the predictive approach: Simply locate and point to an existing picture of a cat. That method is much less glamorous but more energy-efficient and more likely to be accurate, and it properly acknowledges the original source. Generative AI is designed to create things that <em>look</em> real; predictive AI identifies what <em>is</em> real. A misunderstanding that generative systems are <em>retrieving</em> things when they are actually <em>creating</em> them has led to grave consequences when text is involved, requiring the <a href="https://legal.thomsonreuters.com/blog/when-ai-hallucinations-hit-the-courtroom-why-content-quality-determines-ai-reliability-in-legal-practice">withdrawal of legal rulings</a> and the retraction of scientific articles.</p>
</blockquote>
<h3><a href="https://waterwaymap.org/">Waterway Map</a></h3>
<p>An illustration of the world’s rivers, with width indicating the volume of water upstream of the point on the line. Finer details appear as you zoom in, it has all of the creeks near my house. Color coding is apparently by watershed. I was moderately surprised to learn that the <a href="https://waterwaymap.org/#map=5.87/47.16/-118.943">Puget Sound apparently has less water volume than the Columbia River</a>.</p>
<h3><a href="https://wingolog.org/archives/2025/12/17/in-which-our-protagonist-dreams-of-laurels">in which our protagonist dreams of laurels</a></h3>
<p>A meditation on the nature of free and open-source software, from the creator of <a href="https://en.wikipedia.org/wiki/GNU_Guile">Guile</a>:</p>
<blockquote>
<p>What I would like to say is that free software is a strategy. As a community of people that share some kind of liberatory principles of which free software has been a part, let use free software as best we can, among many other strategies.</p>
</blockquote>
<h3><a href="https://copyrightlately.com/public-domain-2026/">Public Domain Day 2026 is Coming: Here’s What to Know</a></h3>
<blockquote>
<p>Regular observers of copyright law’s favorite holiday know the drill: on January 1, 2026, a new crop of creative works from 1930 (along with sound recordings from 1925) will enter the public domain in the United States—ready to be remixed, recycled, or repurposed into B-grade horror films and ill-advised erotica.</p>
</blockquote>
<p>It’s great to see things being put back into the commons.</p></section>]]></content:encoded>
            <author>&amp;lt;matthew@lyonhe.art&amp;gt; (Matthew Lyon)</author>
        </item>
        <item>
            <title><![CDATA[Links, December 19th, 2025]]></title>
            <link>https://lyonhe.art/links/2025-12-19</link>
            <guid>https://lyonhe.art/links/2025-12-19</guid>
            <pubDate>Fri, 19 Dec 2025 08:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<page-info></page-info>
<section><h3><a href="https://birdfont.org">Birdfont</a></h3>
<p>It’s been a while since I’ve wanted to make a typeface, and while <a href="https://glyphsapp.com">Glyphs</a> looks cool, $500 for a version that supports the features I want is a bit more than I’m willing to spend. I tried out the open source stalwart <a href="https://fontforge.org/en-US/">FontForge</a> which has all the (lack of) usability you expect from open source, and among its FAQ I found <a href="https://fontforge.org/docs/faq.html#faq-how-mac">a statement so offensively ignorant of the history of digital type and desktop publishing</a> it put me off the entire project.</p>
<aside><p>the remaining artifact of my previous forays into font design is <a href="https://www.dafont.com/hammer-keys.font">Hammerkeys</a> from 1996.</p></aside>
<p>I hadn’t heard about Birdfont before I went looking for other alternatives, but it’s free for open-source licensed fonts and inexpensive for the <a href="https://birdfont.org/download.php">fully-featured</a> version, which includes support for color, variable, and single-stroke (CNC) fonts. It’s auto-trace feature is pretty good, and I found its interface well-laid out enough that in an evening I was able to whip up a fairly good rendition of my handwriting in alphanumerics with random substitutions, though I’m still working on the spacing and kerning:</p>
<p data-font-type="hand" style="font-size: var(--font-l3);">the five boxing wizards jump quickly
</p>
<p>It doesn’t yet export Webfonts (I’m still trying to figure out the conversion for variable fonts), and has some rough edges, but the program is under active development and they have <a href="https://typo.social/@birdfont">a presence on fedi</a>.</p>
<h3><a href="https://www.youtube.com/watch?v=1fZTOjd_bOQ">Are we stuck with the same Desktop UX forever? | Ubuntu Summit 25.10</a></h3>
<p>A video of a <em>very</em> good talk by Scott Jenson - who worked on many facets of the Macintosh Desktop – on what I believe is is the fundamental aspect of user interface design – the metaphor – and how the ones we have for our <em>“desktop”</em> computing have gone stale, levels some very righteous criticism towards Apple and Microsoft for their stagnation on this front, <em>“why I hate the term UX/UI with the heat of 1000 suns</em>”, the nature of the relationship between programmers and designers, and how interface metaphors differ in desktop and mobile computing.</p>
<h3><a href="https://stonetools.ghost.io/hypercard-mac/">HyperCard on the Macintosh</a></h3>
<p>I’ve mentioned <a href="">Hypercard</a> in these links <a href="https://lyonhe.art/links/2024-08-09/#Decker-a-multimedia-platform-for-creating-an-sharing-interactive-documents">previously</a> and do so again because nothing in the thirty-five years since first playing with it have I ever felt a piece of software feel so <em>tangible</em>. This is a great discussion on why that was so; the piece is lengthy and this is its subheader:</p>
<blockquote>
<p>How do we approach the challenge of helping non-programmers build software? Do we throw up our hands at today’s complexity and say, “Just let an AI do it.” Or, do we make tools so <em>compelling</em> a novice can build something interesting almost by accident. We had that once. Let’s see what was lost.</p>
</blockquote>
<h3><a href="https://beyondloom.com/blog/sketchpad.html">A Multimedia Sketchpad</a></h3>
<p>More on Hypercard, and the contemporary attempts at re-creating it, from the creator of <a href="https://beyondloom.com/decker/index.html">Decker</a>:</p>
<blockquote>
<p>I see HyperCard differently. It certainly had event-based programming wired up to interactive buttons and fields, but there was something evasively <em>softer</em> and more pliable about it as a medium. It broke down the hard distinctions we tend to take for granted between <em>programs</em> and <em>documents</em>, <em>developers</em> and <em>users</em>.</p>
</blockquote>
<h3><a href="https://jank-lang.org">The jank programming language</a></h3>
<blockquote>
<p>jank is a <strong>general-purpose programming language</strong> which embraces the <strong>interactive, value-oriented</strong> nature of Clojure as well as the desire for <strong>native compilation and minimal runtimes</strong>.</p>
</blockquote>
<p>A <a href="https://clojure.org">Clojure</a>-like hosted on an LLVM-based JIT? You’ve got my attention.</p>
<h3><a href="https://buttondown.com/natebowling/archive/affordability-this-math-aint-mathing">Affordibility: This Math Ain’t Mathing</a></h3>
<p>I first came across <a href="https://www.natebowling.com">Nate Bowling</a>, a black teacher in my corner of the Pacific Northwest who was awarded Washington State’s Teacher of the Year award who has since gone abroad, via <a href="https://scholar.social/@natebowling">fedi</a>, and have found his <a href="https://buttondown.com/natebowling/archive/">newsletter</a> a worthwhile read, with a great analysis of the current US economic sitaution:</p>
<blockquote>
<p>This is a path we were set on during the Reagan/Thatcher Trans-Atlantic consensus and one I don’t think we’ll emerge from until we can solve the aforementioned class solidarity gap.</p>
</blockquote>
<h3><a href="https://truthout.org/articles/instacart-reportedly-using-secret-ai-powered-dynamic-pricing-to-jack-up-prices/">Instacart Reportedly Using Secret AI-Powered Dynamic Pricing to Jack Up Prices</a></h3>
<p>I still remember an incident in a college economics class where I brought up an article from <a href="https://en.wikipedia.org/wiki/Adbusters">Adbusters Magazine</a> on <a href="https://en.wikipedia.org/wiki/Dynamic_pricing">surge pricing</a> – in 1998! (Sorry, can’t find a link to it now.) I was told repeatedly that such a thing wasn’t possible, people wouldn’t stand for it, companies wouldn’t be that evil, etc, and why am I listening to this commie garbage?</p>
<p>Meanwhile, 27 years later:</p>
<blockquote>
<p>The experiment found that these price differences added up. The same basket at a Safeway in Seattle cost some shoppers $114.34, others $119.85, and others $123.93 — an 8 percent increase from the lowest to the highest cost.</p>
</blockquote></section>]]></content:encoded>
            <author>&amp;lt;matthew@lyonhe.art&amp;gt; (Matthew Lyon)</author>
        </item>
        <item>
            <title><![CDATA[Links, December 12, 2025]]></title>
            <link>https://lyonhe.art/links/2025-12-12</link>
            <guid>https://lyonhe.art/links/2025-12-12</guid>
            <pubDate>Fri, 12 Dec 2025 08:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<page-info></page-info>
<section><h3><a href="https://www.youtube.com/watch?v=yxsKwJbmQ9o">ADHD (explained by ducks)</a></h3>
<p>A twelve-minute video that I wish I could have seen thirty years ago.</p>
<h3><a href="https://sightlessscribbles.com/the-colonization-of-confidence/">The Colonization of Confidence.</a></h3>
<p>An amazingly good short nonfiction story about what it means to make art by <a href="https://sightlessscribbles.com">Robert Kingett</a>, a <em>“totally blind, gay, author and accessibility consultant”</em>, who I hadn’t heard of before this story came across my purview:</p>
<blockquote>
<p>“Tonight, you’ll hear grit,” I say. “You’ll hear mess. You’ll hear first drafts. You’ll hear bleeding onto the page. Nothing will be polished. Nothing will be sanitized. I admit, some things won’t make a lick of fucking sense. But you all are here because you love the mess. You love artists. You love art. You love the chaos of a human mind trying to explain itself to another human mind.”</p>
</blockquote>
<h3><a href="https://winnielim.org/journal/imperfect-notes-my-second-subconscious/">imperfect notes &#x26; my second subconscious</a></h3>
<p>A bit about note-taking, organization, and the dread some of us have about not getting it “right”:</p>
<blockquote>
<p>People like me tend to always want to design the perfect system before we start to use it. Or somehow there is an internal gauge of a completeness of a note: each note has to seem complete or else we cannot move forward.</p>
</blockquote>
<p>A few years back, I decided to “just start” using Obsidian, and now I can’t imagine not having it. Are my notes “organized”? Hah! But I have full-text search and hyperlinks, and that’s proven good enough.</p>
<h3><a href="https://www.theatlantic.com/magazine/2026/01/mohammad-tajik-iran-cyber-intelligence/684954/?gift=kPTlqn0J1iP9IBZcsdI5IUTLJcsVKq12m0EyVlSYJBQ">They Killed My Source</a></h3>
<p>Journalist <a href="https://www.theatlantic.com/author/shane-harris/">Shane Harris</a> with an absolutely bonkers tale about Iranian cyberespionage:</p>
<blockquote>
<p>In blunt fashion, he was expressing how both our businesses work. Mine eschews deception, but journalists collect sources, then assess and second-guess them, just as spies do. A journalist and an intelligence officer are both trying to piece together a coherent story from confusing fragments of reality. And very few journalists, if any, could count a senior Iranian intelligence officer turned American spy as a source.</p>
</blockquote>
<h3><a href="https://gregg.io/the-only-winning-move">The Only Winning Move Is Not to Play</a></h3>
<blockquote>
<p>I didn’t enter this field and take this type of job only to <em>not do the job</em>. My red line is conceding the things I am—we are—uniquely good at to a product, platform, or bot. My red line is trading in the parts of the job I am both an expert in and enjoy for tasks that make the job something else entirely.</p>
</blockquote>
<p>This is, nominally, a piece pushing back against use of LLMs in User Experience research. But it’s more than that.</p>
<p>The thing I’ve come to realize about my own cycle of work and burnout, is largely in part that the problems I want to work on require someone to <em>care</em>; not just about doing the job well, but because the consequences for a job done poorly are unacceptable, and work environments often demand compromise on those consequences.</p>
<h3><a href="https://www.youtube.com/watch?v=DydIhwLrbMk">Portals must bend gravity, actually</a></h3>
<p>A second Youtube video for this week, making I think a first for these links. The creator of this video attempts to reconcile the titular mechanism from the game <a href="https://en.wikipedia.org/wiki/Portal_(video_game)">Portal</a> to make them work inside our understanding of physics, which the author asserts would apply to the science fiction concept of <em>wormholes</em> as well. Lengthy (45 minutes) but fun if you’re into this sort of nerdery, and it has subtitles to help watch at 1.5x speed if you’re like me.</p></section>]]></content:encoded>
            <author>&amp;lt;matthew@lyonhe.art&amp;gt; (Matthew Lyon)</author>
        </item>
    </channel>
</rss>