Shellsharks Blogroll - BlogFlock2026-04-23T15:45:00.754ZBlogFlockAdepts of 0xCC, destructured, fLaMEd, Trail of Bits Blog, Aaron Parecki, Westenberg, gynvael.coldwind//vx.log (pl), James' Coffee Blog, Evan Boehs, joelchrono, Kev Quirk, cool-as-heck, Posts feed, Sophie Koonin, <span>Songs</span> on the Security of Networks, cmdr-nova@internet:~$, Werd I/O, Johnny.Decimal, Robb Knight, Molly White, Hey, it's Jason!, Terence Eden’s BlogThe user-tailored newsroom - Werd I/O69ea2593d2d9230001cfb8682026-04-23T13:58:43.000Z<p>Link: <a href="https://www.hackshackers.com/cms-is-dead-long-live-the-context-management-system/?ref=werd.io"><em>The Content Management System Is Dead. Long Live the Context Management System., by Burt Herman at Hacks / Hackers</em></a></p><p>I thought this was a pretty compelling demo. It’s obviously a proof of concept, but it points to some interesting places journalism could go, and it opens up some new platform questions in the process.</p><p>In Burt’s vision, the reader has a profile that expresses their interests, and then the newsroom curates material that is surfaced using that lens. His demo makes that more concrete: <a href="https://nyc-mayor-context-demo-2026.hackshackers.com/?ref=werd.io">here he’s pointed an engine at communications from New York City Mayor Mamdani’s office</a>, and set up personas like “renter in Bushwick” and “parent in Park Slope” that are served a briefing drawn from different information depending on that persona’s particular lens. A parent in Park Slope receives more information about schools in that neighborhood; a retiree in the West Village receives information about their neighborhood but also about services that pertain to them.</p><p>You can easily imagine how this might scale up to a newsroom. An engine like this doesn’t have to be limited to source material as in Burt’s demo: it could also be journalistic investigations, interviews, and net-new content created by skilled reporters. In some ways it’s a vision for a better homepage (often among the least-visited parts of a news website) more than a redefinition of journalism itself, except in the sense that surfacing more raw material is welcome.</p><p>There are so many interesting questions to consider — many of which dovetail with ideas that have been tackled outside news for years.</p><p>For example: if a reader creates a profile, where does that live? Is it on the news website, in which case they have to create a new profile every time they read another site? Or does it live in the browser, so that the user creates their profile once and consents to share it with the various sites they read? People have been working on browser-based identity, and now identity for agentic users, for a long time. It may make sense to apply that work here.</p><p>Where should the briefing live? Is it a news website’s homepage, as I’ve surmised above, or is it actually also at the browser or news reader level, drawing not just from <em>one</em> newsroom, but <em>all</em> the newsrooms a user reads? And if it’s the latter, how does the newsroom retain credit, get compensated, and build a first-party relationship with the reader?</p><p>I also think there’s an obvious business model here: when a user has created a profile <em>for themselves</em>, it’s just as easy to say that they’re in the market for a car, or that they enjoy single-origin coffee beans. Then you can serve useful sponsored content (like deals) to people who actually want to buy those things, which is both significantly more valuable to an advertiser and more consensual / less adversarial for a reader. It brings newsrooms very close to the <a href="https://customercommons.org/?ref=werd.io">Customer Commons</a> ideas that people like <a href="https://doc.searls.com/?ref=werd.io">Doc Searls</a> have been talking about for many years.</p><p>I agree with Burt’s warning here:</p><blockquote>“For publishers and journalists who ignore this: Don't be surprised when human readers stop coming to your websites and mobile apps. Not because the journalism is bad, but because it's more efficient to send an AI agent to gather what you've published, sift out what's truly relevant to the user's own context, and reassemble it in whatever format works best for them.”</blockquote><p>What might a version of this future that centers reader needs but does it in alignment with the newsroom’s needs and values look like? It’s a good time to start experimenting.</p>Update on My Coffee Ridden Framework 13 - Kev Quirkhttps://kevquirk.com/update-on-my-coffee-ridden-framework-132026-04-23T13:43:00.000Z
<p>A week or so ago, I talked about how <a href="https://kevquirk.com/i-may-have-killed-my-framework-13">I might have killed my Framework 13</a> by dumping a full mug of coffee over it while it was running.</p>
<p>In that last post I explained how I'd stripped the laptop down and was waiting for some isopropyl alcohol (IPA) to be delivered so I could more thoroughly clean it. Well dear reader, the IPA turned up, I cleaned it as best I could, and left it for 24 hours to dry off.</p>
<p>The next day I came back to it, re-assembled it and hit the power button with a fair amount of trepidation.</p>
<p><strong>Nothing.</strong></p>
<p>I think it's dead, Jim. And I can't help thinking that turning the laptop on in haste, after the first clean is what completely screwed it. Oh well, we live and learn.</p>
<p>In my desperation, I contacted Framework support and explained the whole saga to see if there was anything I was missing.</p>
<p>There wasn't. They told me that the LED pattern I was seeing when powered on was indicative of a communication error with the board, so it's dead and needed to be replaced.</p>
<p>Problem is, a new board is £700 (~$950) and I didn't fancy shelling out that much money out of my own pocket, so I contacted my home insurance provider to make a claim, and to be fair they were great.</p>
<p>A case was logged and a couple of days later I had a payout that would cover the whole amount.</p>
<h2>The new board and a ThinkPad</h2>
<p>The payout from the insurance was more than the repair cost, so I decided to upgrade from my current Ryzen 7 7840, to an AI 300 series board instead - nice little upgrade!</p>
<p>The Framework site said it would be shipped in 5 days, and would probably be subject to delays of a further 7 days due to global freight disruptions. So I bought myself a ThinkPad T480 to see me through (which I'm typing this post on) as I couldn't bear to be on MacOS for another second.</p>
<p>Framework overachieved again and the board is due for delivery tomorrow (Friday 24th April 2026).</p>
<p>Nice!</p>
<p>Once the board is delivered and my beloved Framework is (hopefully) working again, this nice little ThinkPad will go to my wife as an upgrade from here 2014(!) Gen 2 X1 Carbon.</p>
<h2>How did it die?</h2>
<p>I've had a few people reach out telling me that they'd done something similar and their device's had survived. Unfortunately I wasn't as lucky, so what happened?</p>
<p>I <em>think</em> it's because I didn't spill the coffee <em>on</em> my laptop, but <em>next</em> to it. Then as the puddle of coffee made its way over my desk and inevitably under my laptop, the spinning fan must have sucked it up and perfectly spread the coffee all over the main board.</p>
<p>Thanks for that. Stupid fan. 🤣️</p>
<p>Had I spilled the coffee <em>on</em> my laptop, it would have had to make its way through the keyboard and chassis before it got to the board, by which point I would have had the laptop switched off and draining.</p>
<p>I can't say for sure, but that's my theory.</p>
<p>So anyway, wish my luck with the new board, folks!</p> <div class="email-hidden">
<hr />
<p>Thanks for reading this post via RSS. RSS is ace, and so are you. ❤️</p>
<p>You can <a href="mailto:19gy@qrk.one?subject=Update%20on%20My%20Coffee%20Ridden%20Framework%2013">reply to this post by email</a>, or <a href="https://kevquirk.com/update-on-my-coffee-ridden-framework-13#comments">leave a comment</a>.</p>
</div>
It pays to reward curiosity more than looking smart - Werd I/O69ea1e7cd2d9230001cfb85c2026-04-23T13:28:28.000Z<p><em>Link: </em><a href="https://pointc.co/flare-before-you-focus/?ref=werd.io"><em>Flare Before You Focus, by Corey Ford at Point C</em></a></p><p>Corey’s advice on <a href="https://pointc.co/always-separate-flaring-and-focusing/?ref=werd.io">separating flaring and focusing</a> is something I draw on every workday: it prevents self-editing, allows more creative ideas to flourish, and helps enforce a more rigorous creative process. But as he points out here, to encourage curiosity on your team, you’ve got to model it yourself.</p><p>I have been in this meeting so many times:</p><blockquote>“Two people, both in Focus mode, talking across each other, each trying to prove they have the sharper analysis. Everyone in the room thinks they're having a robust debate. What they're actually having is two monologues masquerading as a conversation. […] They're asking themselves, How do I make sure everyone knows I'm smart?”</blockquote><p>The thing is, when everyone is coming into a brainstorm with genuine curiosity, and when everyone has the right to share and ideate without the outcome being predetermined, it’s genuinely more fun. It’s certainly more inclusive. And when it’s both of those things, you get more interesting ideas. If you “yes and” those ideas and model what it looks like to build with curiosity, you get more of them. It’s a virtuous circle.</p><p>Conversely, if you’re coming in with predetermined ideas, or you set the tone of a meeting to be evaluative rather than collaborative, people won’t speak up. The output becomes monocultural. Or, at its worst, you get the kind of posturing that Corey described above: a culture where people want to be recognized for being smart rather than helping to get to the best possible outcome.</p><p>It helps to be genuinely curious; playful; maybe risk being a little bit unserious. Then people start to loosen up, and that’s when the good stuff starts coming.</p><p>[<a href="https://pointc.co/flare-before-you-focus/?ref=werd.io">Link</a>]</p>Trailmark turns code into graphs - Trail of Bits Bloghttps://blog.trailofbits.com/2026/04/23/trailmark-turns-code-into-graphs/2026-04-23T12:00:00.000Z<p>We’re open-sourcing <a href="https://github.com/trailofbits/trailmark">Trailmark</a>, a library that parses source code into a queryable call graph of functions, classes, call relationships, and semantic metadata, then exposes that graph through a Python API that Claude skills can call directly. Install it now:</p>
<p><code>uv pip install trailmark</code></p>
<p>“Defenders think in lists. Attackers think in graphs. As long as this is true, attackers win.” John Lambert’s <a href="https://github.com/JohnLaTwC/Shared/blob/master/Defenders%20think%20in%20lists.%20Attackers%20think%20in%20graphs.%20As%20long%20as%20this%20is%20true%2C%20attackers%20win.md">widely cited observation</a> about network security applies just as well to AI-assisted software analysis.</p>
<p>When Claude reasons about a codebase, it reasons about lists: findings from static analyzers, surviving mutants from mutation testing, and line-by-line coverage reports. But the question that actually matters is a graph question: <em>can untrusted input reach this code, and what breaks if it’s wrong?</em></p>
<p>We built Trailmark to answer that question. It gives Claude a graph to think with instead of a list. We’re also releasing eight Claude Code skills we’ve built on top of it, designed for mutation triage, test vector generation, protocol diagramming, and more.</p>
<h2 id="when-lists-fall-short">When lists fall short</h2>
<p>Mutation testing is a great example of a method that benefits from graph-level reasoning. It’s one of the best ways to measure test quality. It makes small changes to your source code (e.g., swapping a <code><</code> for <code><=</code>, replacing <code>+</code> with <code>-</code>) and checks whether your tests catch the difference. Mutants that survive reveal gaps in your test suite that code coverage metrics might miss. The downside is that a mutation testing run on a real codebase can produce hundreds of surviving mutants of varying significance. This is very much a <em>list</em>.</p>
<p>Some surviving mutants are <em>equivalent</em>: the mutation doesn’t change the program’s behavior because of structural or mathematical constraints that the mutation testing tool can’t see. Some are in dead code; some are in error message formatting; some are in the finite field arithmetic that underpins every cryptographic operation in your library. A flat list of surviving mutants doesn’t tell you which is which.</p>
<p>We wanted to know whether Claude could use graph-level reasoning about a codebase to automatically triage surviving mutants by security relevance: which are reachable from untrusted input, which affect high-blast-radius functions, and which represent genuine gaps in security-critical code?</p>
<h2 id="how-trailmark-works">How Trailmark works</h2>
<p>Trailmark uses <a href="https://tree-sitter.github.io/">tree-sitter</a> for language-agnostic AST parsing and <a href="https://www.rustworkx.org/">rustworkx</a> for high-performance graph traversal. It operates in three phases:</p>
<ol>
<li><strong>Parse</strong>: Walk a directory, extract functions, classes, call edges, type annotations, cyclomatic complexity, and branch counts from source code.</li>
<li><strong>Index</strong>: Load the resulting graph into a rustworkx PyDiGraph with bidirectional ID/index mappings for fast traversal.</li>
<li><strong>Query</strong>: Answer questions: callers, callees, all paths between two nodes, attack surface enumeration, and complexity hotspots.</li>
</ol>
<p>It currently supports 17 languages, including C, Rust, Go, Python, PHP, JavaScript, Solidity, Circom, and Miden Assembly.</p>
<p>The graph is the substrate. The skills are where the analysis happens.</p>
<h2 id="the-skills">The skills</h2>
<p>The Trailmark plugin ships eight Claude Code skills that use the graph API as their backbone:</p>
<table>
<thead>
<tr>
<th>Skill</th>
<th>What it does</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>trailmark</code></td>
<td>Build and query a code graph with pre-analysis passes: blast radius, taint propagation, privilege boundaries, and entrypoint enumeration</td>
</tr>
<tr>
<td><code>diagram</code></td>
<td>Generate Mermaid diagrams from code graphs: call graphs, class hierarchies, complexity heatmaps, data flow</td>
</tr>
<tr>
<td><code>crypto-protocol-diagram</code></td>
<td>Extract protocol message flow from source code or specs (RFCs, ProVerif, Tamarin) into annotated sequence diagrams</td>
</tr>
<tr>
<td><code>genotoxic</code></td>
<td>Triage mutation testing results using graph analysis: classify surviving mutants as equivalent, missing test coverage, or fuzzing targets</td>
</tr>
<tr>
<td><code>vector-forge</code></td>
<td>Mutation-driven test vector generation: find coverage gaps via mutation testing, then generate Wycheproof-style vectors that close them</td>
</tr>
<tr>
<td><code>graph-evolution</code></td>
<td>Compare code graphs at two snapshots to surface security-relevant structural changes that text diffs miss</td>
</tr>
<tr>
<td><code>mermaid-to-proverif</code></td>
<td>Convert Mermaid sequence diagrams into ProVerif formal verification models</td>
</tr>
<tr>
<td><code>audit-augmentation</code></td>
<td>Project SARIF and weAudit findings onto code graph nodes as annotations, enabling cross-referencing of static analysis results with blast radius and taint data</td>
</tr>
</tbody>
</table>
<p>Each skill calls the Trailmark Python API directly. When <code>genotoxic</code> triages a surviving mutant, it queries <code>engine.paths_between</code> to check reachability from untrusted input. When <code>diagram</code> generates a complexity heatmap, it calls <code>engine.complexity_hotspots</code>. The graph is what makes those questions answerable in seconds rather than hours of manual tracing.</p>
<p>Trailmark also ingests SARIF output from static analyzers and <a href="https://blog.trailofbits.com/2024/03/19/read-code-like-a-pro-with-our-weaudit-vscode-extension/">weAudit</a> annotations, mapping external findings onto graph nodes by file and line range. This lets Claude layer static analysis results, audit notes, and mutation testing data onto a single unified graph, then query across all of them.</p>
<h2 id="what-claude-found">What Claude found</h2>
<p>We’ve been using these skills internally on several cryptographic libraries, combining graph analysis with language-appropriate mutation testing frameworks. Here’s what the graph let Claude see that flat lists couldn’t.</p>
<h3 id="equivalent-mutants-are-the-majority-in-well-tested-crypto">Equivalent mutants are the majority in well-tested crypto</h3>
<p>When we ran mutation testing against an Ed448 implementation in Go, 45 mutants survived out of 583 covered. A flat list of 45 surviving mutants looks like a serious test gap. But when Claude used the Trailmark call graph (332 nodes, 3,259 call edges) to triage via <code>genotoxic</code>, 33 of those 45 (73%) were equivalent mutants. The mutations were unobservable because the code’s mathematical structure constrained values more tightly than the explicit bounds checks that were mutated.</p>
<p>For example, nine surviving mutants modified boundary conditions in NAF (non-adjacent form) digit range checks. These look like real bugs in isolation. But the NAF digits are structurally bounded by the <code>nonAdjacentForm</code> algorithm itself: the values that would trigger the altered boundary can never appear. The graph confirmed these functions were called from specific contexts that made the mutations undetectable.</p>
<p>The 12 genuine gaps were concrete and actionable: a cross-package coverage gap where Go’s coverage profiling attributed execution to the calling package instead of the defining package, a 255-byte context string boundary condition that was never tested, and overflow carry paths in wide-integer parsing that required near-maximum input values that no existing test vector produced.</p>
<h3 id="architectural-bottlenecks-are-invisible-without-a-graph">Architectural bottlenecks are invisible without a graph</h3>
<p>When Claude built a Trailmark graph of <code>libhydrogen</code>, a compact C cryptographic library, the graph immediately highlighted something that wasn’t obvious from linearly reading the source files: the entire library funnels through a single permutation primitive, <code>gimli_core_u8</code>, which receives 37 direct calls. Every cryptographic operation (hashing, encryption, key exchange, signatures, and password hashing) depends on this one function.</p>
<p>This isn’t a bug. It’s a deliberate design choice common in lightweight crypto libraries. But it means the blast radius of a flaw in Gimli is total. The graph quantified this: a mutation in <code>gimli_core_u8</code> affects 100% of the library’s security-critical functionality. Gimli was also eliminated from the NIST Lightweight Cryptography competition. Together, these facts represent the kind of architectural risk that’s invisible in a line-by-line code review. The graph makes it obvious.</p>
<h3 id="mutation-testing-finds-what-kats-cant-cover">Mutation testing finds what KATs can’t cover</h3>
<p>For standardized algorithms like Ed25519 or ML-KEM, known-answer tests (KATs) and projects like <a href="https://github.com/google/wycheproof">Wycheproof</a> provide test vectors that exercise edge cases. But for novel constructions (libhydrogen’s combination of Gimli and Curve25519, for instance), independent KATs don’t exist. No one has published “if you give Gimli-based AEAD this input, you should get this output” vectors, because the construction is unique to this library.</p>
<p>This is where mutation testing fills the gap. It doesn’t need reference implementations or published test vectors. It tests whether <em>your</em> tests actually constrain <em>your</em> code’s behavior. The surviving mutants tell you exactly which aspects of the implementation aren’t pinned down by your test suite, regardless of whether anyone else has ever tested that specific construction.</p>
<p>In the RustCrypto/KEMs crates (ML-KEM, X-Wing), <code>vector-forge</code> found that seven surviving mutants targeted NTT multiplication (mutations like replacing <code>*</code> with <code>+</code> in polynomial dot products). These survived because the test suite only exercised NTT through full KEM round-trips. The algebraic properties of NTT were never tested directly. Existing Wycheproof vectors and NIST KATs caught most higher-level issues, but the internal algebraic invariants had no direct coverage.</p>
<h3 id="three-patterns-that-showed-up-everywhere">Three patterns that showed up everywhere</h3>
<p>Across multiple codebases analyzed with Trailmark, the same patterns emerged:</p>
<ul>
<li>
<p><strong>Blast radius concentrates in arithmetic modules.</strong> In libsodium (1,597 nodes, 9,574 call edges), the ed25519_ref10 module had the highest blast radius, underpinning Ed25519 signatures, Curve25519 key exchange, Ristretto255, and X-Wing KEM. In ML-KEM, the algebra module had a blast radius of 28; every polynomial and matrix operation depended on its Elem arithmetic. Graph analysis consistently identified these modules as the highest-priority targets for thorough testing.</p>
</li>
<li>
<p><strong>Codec parsers are high-value fuzzing targets that rarely get prioritized.</strong> Multiple analyses flagged hex/Base64 decoders and IP address parsers as high-complexity functions with external input exposure. libsodium’s <code>parse_ipv6</code> had a cyclomatic complexity of 18; libhydrogen’s <code>hydro_hex2bin</code> was the most complex function in the entire library, with a cyclomatic complexity of 11. These functions are natural targets for fuzzing, and the graph confirms they’re reachable from untrusted input.</p>
</li>
<li>
<p><strong>Property-based testing is sparse.</strong> Across the Rust cryptographic crates we examined, property-based testing was either absent or incomplete. The KEMs crates had zero property-based tests. Barrett reduction in ML-KEM was tested with only five points, even though exhaustive testing over all 11 million values of q = 3329 is computationally feasible. The graph’s blast radius analysis shows where property-based tests would have the greatest impact.</p>
</li>
</ul>
<h2 id="connecting-the-graph-to-everything-else">Connecting the graph to everything else</h2>
<p>The graph is most useful when it serves as the connective tissue between other analysis tools. When the constant-time analysis skill flags a function, Trailmark tells Claude its blast radius. When mutation testing produces survivors, Trailmark tells Claude which ones are reachable from untrusted input. When an auditor annotates a finding in weAudit, <code>audit-augmentation</code> shows what else in the graph is affected.</p>
<p>We use this internally to write targeted fuzzing harnesses. The graph identifies high-complexity functions reachable from external input; mutation testing identifies which of those functions have test gaps; the combination tells Claude exactly where a fuzzing harness will have the highest marginal value.</p>
<h2 id="start-querying-your-codebase">Start querying your codebase</h2>
<p>Trailmark is open source under <a href="https://github.com/trailofbits/trailmark">Apache-2.0</a>. The library is on PyPI; the skills plugin is in the same repository.</p>
<p><strong>Install the library</strong> (required by the skills):</p>
<figure class="highlight">
<pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">uv pip install trailmark</span></span></code></pre>
</figure>
<p><strong>Add the skills to Claude Code:</strong></p>
<figure class="highlight">
<pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">/plugin marketplace add trailofbits/skills</span></span></code></pre>
</figure>
<p>Then select the Trailmark plugin from the menu.</p>
<p>You can also explore the graph directly from the CLI:</p>
<figure class="highlight">
<pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1"># Full JSON graph</span>
</span></span><span class="line"><span class="cl">trailmark analyze path/to/project
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Analyze a specific language</span>
</span></span><span class="line"><span class="cl">trailmark analyze --language rust path/to/project
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Complexity hotspots</span>
</span></span><span class="line"><span class="cl">trailmark analyze --complexity <span class="m">10</span> path/to/project</span></span></code></pre>
</figure>
<p>Or call the Python API to build your own skills on top of the graph:</p>
<figure class="highlight">
<pre tabindex="0" class="chroma"><code class="language-py" data-lang="py"><span class="line"><span class="cl"><span class="kn">from</span> <span class="nn">trailmark.query.api</span> <span class="kn">import</span> <span class="n">QueryEngine</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">engine</span> <span class="o">=</span> <span class="n">QueryEngine</span><span class="o">.</span><span class="n">from_directory</span><span class="p">(</span><span class="s2">"path/to/project"</span><span class="p">,</span> <span class="n">language</span><span class="o">=</span><span class="s2">"c"</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># What's reachable from this entrypoint?</span>
</span></span><span class="line"><span class="cl"><span class="n">engine</span><span class="o">.</span><span class="n">callees_of</span><span class="p">(</span><span class="s2">"handle_request"</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Call paths from entrypoint to sensitive function</span>
</span></span><span class="line"><span class="cl"><span class="n">engine</span><span class="o">.</span><span class="n">paths_between</span><span class="p">(</span><span class="s2">"handle_request"</span><span class="p">,</span> <span class="s2">"crypto_verify"</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Functions with cyclomatic complexity >= 10</span>
</span></span><span class="line"><span class="cl"><span class="n">engine</span><span class="o">.</span><span class="n">complexity_hotspots</span><span class="p">(</span><span class="mi">10</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Run pre-analysis (blast radius, taint, privilege boundaries)</span>
</span></span><span class="line"><span class="cl"><span class="n">engine</span><span class="o">.</span><span class="n">preanalysis</span><span class="p">()</span></span></span></code></pre>
</figure>
<p>The graph API is designed to be called by skills, not just humans. If you’re building Claude Code skills for security analysis, code review, or test generation, Trailmark gives you the structural substrate to ask questions that lists can’t answer.</p>
<p>Seventeen languages. A graph, not a list. <a href="https://github.com/trailofbits/trailmark">The code is on GitHub</a>.</p>Sneaky spam in conversational replies to blog posts - Terence Eden’s Bloghttps://shkspr.mobi/blog/?p=705282026-04-23T11:34:48.000Z<p>I'm grateful that my blog posts attract lots of engaged, funny, and challenging comments. But any popular post also attracts spammers. I use <a href="https://antispambee.pluginkollektiv.org/">Antispam Bee</a> to automatically eradicate a couple of hundred crappy comments <em>per day</em>.</p>
<img src="https://shkspr.mobi/blog/wp-content/uploads/2026/04/Antispam-Bee.webp" alt="Graph showing 272 comments blocked in a single day." width="762" height="292" class="aligncenter size-full wp-image-70529"/>
<p>Nevertheless, some get through. Here's a particularly pernicious one - it appeared as three comments ostensibly in reply to each other.</p>
<img src="https://shkspr.mobi/blog/wp-content/uploads/2026/04/spam-comments.webp" alt="First "I read that article about why it’s so hard to passively track friends’ locations, and it actually makes sense. It talks about wanting automatic alerts when friends are nearby, but no app really does it well because of privacy and social awkwardness." Second "Yeah, and even if the tech exists, people don’t always want to share their location 24/7. It’s like checking promos on spam domain promotions you might see potential, but there’s always uncertainty behind it. You’re kind of taking a chance on incomplete info." Third "Exactly. Most location features are opt-in for a reason. Apps require consent because constantly tracking someone without them knowing would feel invasive, even if the intention is harmless."" width="2316" height="1598" class="aligncenter size-full wp-image-70530"/>
<p>At first glance these look like normal comments. They each address the content of the blog post albeit somewhat superficially. The first comment looks like it was from a social media post sharing my link - I get a lot of those as pingbacks, so it initially didn't trigger any suspicions from me.</p>
<p>The second is ostensibly a reply to the first and continues the conversation. Again, a bit shallow, but seems to be engaging in good faith.</p>
<p>The third looks like yet another reply. They all have unique email addresses, none of them have set their username to anything overly odd, and none of the users have filled out their URl.</p>
<p>But notice, in the second one, there's a link to a dodgy casino! There's no <code>https://</code> so it didn't jump out as a link.</p>
<p>All three came from the same IP address in the Philippines, so easy to block for now.</p>
<p>Each reply is spaced exactly 3 minutes apart which, in retrospect, looks a little odd.</p>
<p>Re-reading them carefully, they all look like AI slop. A plausible sounding summary, written in a casual style, but with very little semantic content. Seeing them as replies to each other primed me to think they were genuine because I'm used to spam coming in individual replies. Having the spam in the middle comment made it easy to glaze over.</p>
<p>Remember, there are no technological solutions to social problems. Sticking more and more barriers in the way of commenting only discourages genuine replies while the profit motive incentivises spammers to work around them.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=70528&HTTP_REFERER=Atom" alt="" width="1" height="1" loading="eager"/>Why prediction markets are a sure sign that our civilisation is in decay - Westenberg69e98bc1d72e1f0001fd57292026-04-23T03:10:02.000Z
<div class="kg-card kg-cta-card kg-cta-bg-grey kg-cta-minimal " data-layout="minimal">
<div class="kg-cta-content">
<div class="kg-cta-content-inner">
<div class="kg-cta-text">
<img src="https://www.joanwestenberg.com/content/images/2026/04/prediction-markets-kalshi-35927.jpg" alt="Why prediction markets are a sure sign that our civilisation is in decay"><p><span style="white-space: pre-wrap;">This newsletter is free to read, and it’ll stay that way. But if you want more - extra posts each month, no sponsored CTAs, access to the community, and a direct line to ask me things - paid subscriptions are $2.50/month. A lot of people have told me it’s worth it. </span></p>
</div>
<a href="https://www.joanwestenberg.com/#/portal/signup/69328a08ef56a90001ae60df/monthly" class="kg-cta-button " style="background-color: #000000; color: #ffffff;">
Upgrade
</a>
</div>
</div>
</div>
<p>In July 2003, the public found out that DARPA (the research and dev agency responsible for the internet itself) had been funding a futures market called the Policy Analysis Market. Traders would bet on Middle East political events, including assassinations, coups, terror attacks, and regime changes. The program had been proposed in 2001 by a small San Diego research firm called Net Exchange, with intellectual scaffolding from the economist Robin Hanson at George Mason; and by 2003 it sat inside the Information Awareness Office, whose director was Admiral John Poindexter, Reagan's former National Security Advisor.</p><p>Poindexter had been convicted in 1990 on five counts of lying to Congress over Iran-Contra; his convictions were vacated on appeal a year later, on the grounds that trial witnesses had been contaminated by his own immunised Congressional testimony, but their aura never went away.</p><p>Senators Ron Wyden and Byron Dorgan went public with the future market on July 28.</p><p>The program was killed within 24 hours, and Poindexter resigned two weeks later, because the public reaction - way back in 2003 - was utter revulsion. The idea of betting on whether a head of state would be murdered etc struck almost everyone as obviously gruesome and beyond redemption; editorial writers called it grotesque; and Pentagon officials spent days apologising.</p><p>Twenty-two years later, we seem to have drifted a long way from that moral high watermark.</p><p>Polymarket ran live contracts in 2024 on whether Vladimir Putin would remain in office, whether Joe Biden would drop out, whether a ceasefire would hold in Gaza by a given date, whether Donald Trump would be assassinated before the November election. Kalshi, the CFTC-regulated American competitor, took hundreds of millions of dollars in volume on the 2024 presidential race. In 2026, folks have been betting on the deaths of Iranian officials and Israeli civilians and nuclear war.</p><p>Nobody has resigned, and no senator has been forced to hold a press conference. The markets are covered in the financial press as an actual innovation in retail trading.</p><p>We’ve gone from "this is too ghoulish to exist" in 2003 to "this is the new wisdom-of-crowds infrastructure" in 2026. And it's a symptom of how we, all of us, are coming apart.</p><p>Prediction markets are, I think, the clearest single sign that our civilisation has entered a late and decadent stage.</p><h2 id="the-dream-and-the-pitch">The dream and the pitch</h2><p>The pitch for prediction markets has been the same since Robin Hanson started writing about "idea futures" in 1988 and 1990, and since the Iowa Electronic Markets launched their political futures market that same decade. Markets aggregate dispersed information better than polls, pundits, or committees; if you put money on the line, people stop posturing and start estimating, and prices become a running readout of collective belief.</p><p>Hanson's version of this ran deep. He proposed "futarchy," a system where citizens vote on values and markets decide on policy. You'd ask the market whether a given policy would raise GDP, reduce childhood poverty, or cut CO2, and whichever policy the market priced highest would get implemented.</p><p>Philip Tetlock's <em>Expert Political Judgment</em> in 2005 and <em>Superforecasting</em> in 2015 supplied the scientific underpinning. Tetlock found that generalist forecasters who updated on evidence, tracked calibration, and competed in open tournaments routinely beat credentialed experts. The Good Judgment Project, funded by IARPA starting in 2011, showed this was repeatable.</p><p>Markets do aggregate information. Forecasting tournaments do beat pundits. The humiliation of the 2003 Iraq WMD consensus, and of nearly every major think tank's prediction record in the decade after, gave the prediction-market crowd a genuine argument.</p><p>So if the pitch is good, why is the product a sign of rot?</p><p>Because the pitch was about epistemics.</p><p>The product is about something worse.</p><h2 id="what-the-markets-price">What the markets price</h2><p>Open Polymarket in April 2026. Scroll the trending contracts. You'll find markets on celebrity divorces, CEO firings, troop movements, drone strikes, papal health, celebrity deaths recast as "will X still be alive on December 31," and whether a given pop star will release an album in Q3. The biggest volumes cluster around elections and the personal misfortunes of public figures.</p><p>These are bets on whether bad things will happen to specific people, and groups of people, whether institutions will hold, whether the world will feel more or less stable in 90 days.</p><p>The prediction-market community will tell you the content of the contracts doesn't matter, because the market's function is to produce accurate probabilities and nothing more - and I don't buy this for a single second. What a society chooses to price reveals what it actually gives a shit about, in the same way that what a society chooses to memorialise reveals what it honours. Tell me which contracts move size and I'll tell you what your civilisation has decided is interesting.</p><p>In Renaissance Florence, the biggest public wagers were on papal elections, the outcomes of condottieri campaigns, and whether the Arno would flood before June; you can reconstruct the city's anxieties from the betting books. Our betting books show a civilisation fixated on the humiliation and removal of a small number of public figures, and on the probability that large systems will crack on a short timescale.</p><p>This is an unflattering portrait.</p><h2 id="assassination-contracts">Assassination contracts</h2><p>Polymarket listed a contract in summer 2024 on whether Donald Trump would be assassinated before the election. The contract was scrubbed after the Butler, Pennsylvania shooting in July, for obvious reasons, but crucially <em>it had traded</em>. There was liquidity. There were people on both sides of the bet.</p><p>In 2005, Nick Szabo wrote about the dangers of what a crypto-anarchist named Jim Bell had called "assassination politics" back in 1995. Szabo came close to inventing Bitcoin before Satoshi did, and he knew what he was looking at. Bell's original proposal was a market where anonymous donors could pool money that would pay out to whoever correctly "predicted" the date of a public official's death; and the prediction would, of course, be a contract for the hit.</p><p>Every prediction-market platform that goes live has to run a gauntlet around Bell’s ghost. Polymarket's terms of service prohibit contracts that could function as murder contracts, and Kalshi does the same - the lawyers know the argument.</p><p>But the argument doesn't depend on intent. Hanson himself has written that you can’t cleanly separate a prediction market on whether X will be killed from an incentive to kill X, because the market is information to a would-be assassin about how much financial upside exists in acting on their impulse; it’s a relatively clean way for a hostile state actor to hedge a covert operation. A sovereign that wants a rival head of state dead can, in principle, acquire a large position on a thinly traded market, wait for someone to commit the act, and pay for the operation with the winnings.</p><p>In 2003, this argument was enough to kill a DARPA program and end a career.</p><p>In 2026, the same argument is background noise. We've collectively decided that the information value of these markets outweighs the moral cost of treating human lives as tradable securities, and this (to me, at least, and I accept that I may be alone in this) that decision is a bleeding mistake.</p><h1 id="the-dead-pool-and-the-decline">The dead pool and the decline</h1><p>Tudor Londoners wagered on the life expectancy of public figures so routinely that life insurance, as we understand it, grew out of the same market. Geoffrey Clark's <em>Betting on Lives</em>, published in 1999, traces the 18th century English insurance market as a functioning prediction market on the deaths of dukes and royal mistresses. Parliament shut it down in 1774 with the Life Assurance Act, which required insurable interest, because the legislators of the era understood something we've apparently, conveniently and somewhat profitably forgotten. Permitting strangers to bet on whether a named person would live or die produced, in aggregate, darker incentives than the information-gathering benefit could justify. This should be obvious. In fact, to anyone paying attention, <em>this is obvious</em>.</p><p>The 18th century London markets at scale were disastrous. Ambassadors were assassinated. Heirs were poisoned. The statute was, by the standards of the 1770s, a moral intervention.</p><p>But we repealed that moral intervention, and we repealed it with software. Each new prediction market opens with a standard disclaimer that the platform doesn't allow murder contracts, and then lists contracts on the lives of named public figures, reinventing 18th century betting practices and rebranding them too, as innovations and disruptions.</p><p>The Roman Empire late in its decline had booming gambling markets on gladiatorial outcomes. The Byzantines had a full betting economy around chariot racing that produced the Nika riots of 532 CE, which killed tens of thousands. Late Qing China had opium-fueled fan-tan parlors that functioned as quasi-markets on political outcomes. Weimar Germany had the Tauentzienstraße betting shops that took wagers on the next Chancellor and, after 1930, on which faction would be next to be shot in a street brawl.</p><p>None of this is to claim that gambling causes decline; that would be a cheap causal argument, and I’m not yet in that business...</p><p>My claim is a little narrower, at least.</p><p>In each case, a civilisation under strain stopped prosecuting its disputes through argument and institution, and started pricing them; the bettors were reading the decline the way a barometer reads a storm, even if the storm came from somewhere else.</p><h2 id="sandels-objection-twenty-years-late">Sandel's objection, twenty years late</h2><p>Michael Sandel, the Harvard political philosopher, published <em>What Money Can't Buy</em> in 2012. The core argument of the book is that some goods are corrupted they moment they’re priced. A Nobel Peace Prize that can be bought at auction isn't a Nobel Peace Prize, something that Donald Trump may or may not have grokked; a friendship that's bought and sold cannot possibly qualify as a friendship; a citizenship that has a purchase point, in the Maltese Golden Visa sense, isn't actually any kind of citizenship that actually matters, in any kind of philosophical sense.</p><p>Sandel's objection to prediction markets is that certain questions change their nature when you put them in a market frame. Markets don't need to produce bad information for this to go wrong; they do the damage by producing any number at all. Ask "is the Secretary of Defense going to resign by June 1" in a newsroom and you get a political question - you talk about his relationship with the President, the policy disputes inside the cabinet, the institutional pressures from Congress etc. The question is embedded in a set of relationships and public obligations.</p><p>Ask the same question on a prediction market and you get a probability between 0 and 1. The market has no view on whether he should resign, whether the policy fight is worth winning, whether the institutional damage is worth the political cost and so on - It only has a price, because it only needs a price.</p><p>Prediction markets route around normative argument without destroying it; they provide a parallel answer, priced and continuous, that makes the unpriced conversation feel slow and unserious by comparison. Why listen to a journalist reason about whether the ceasefire will hold when you can see that it's trading at 34 cents?</p><h2 id="the-laziness-dividend">The laziness dividend</h2><p>Cass Sunstein and Richard Thaler wrote <em>Nudge</em> in 2008 with a section on prediction markets that reads, now, as a period piece. They praised the markets as a way to get past groupthink and expert capture and perhaps they were right about the epistemic problem, but I think it’s easy to see that they were wrong about where the pressure would move. The pressure has moved toward laziness - once a price exists, a journalist stops reporting and an analyst stops analysing and a decision-maker stops deciding. Everyone's waiting for Polymarket to update.</p><p>During the 2024 US election, major news outlets, including the Financial Times and the Washington Post, quoted Polymarket's implied probabilities in running coverage. The number was treated as a live readout of election reality, and when the numbers moved, articles were written about the movement. The question of what was driving the movement, which is the actual journalism, came second. In 2024, Nate Silver shifted to publishing both his own forecast and the Polymarket number, and spent much of October explaining why they diverged. His model at 538 had dominated election coverage for 12 years before that. The work of explanation became a reaction to the price.</p><p>Silver is one of the more honest figures here. He's said in print that prediction markets are his competitors, that they force him to sharpen his reasoning, and that he thinks the aggregated number contains signal his model misses. And fair enough - I can accept that as a good faith position. But the broader effect, across the field, has been that journalism about uncertain future events has collapsed into price commentary, and the markets have become the story, and the story about the markets has replaced the story about the world.</p><h2 id="replacing-argument-with-price">Replacing argument with price</h2><p>Alasdair MacIntyre argued in <em>After Virtue</em>, published in 1981, that modern moral discourse is a ruin. We use the vocabulary of older ethical traditions, Aristotelian virtue, Christian duty, Kantian rights, without the shared community of practice that gave those words their meaning, and so we shout past each other, trading fragments that no longer cohere. His example was the debate over abortion - but you could use almost any political question from 1981 forward.</p><p>The prediction market is the ultimate post-MacIntyre moral technology, asking only what <em>will</em> happen. Questions about what we owe each other, what justice requires, what a good outcome would be, what a morally defensible position would represent - the market has no machinery for. Values drop out of the picture, because the price is the only fact.</p><p>he defenders rarely argue that the markets produce better outcomes in any thick sense of "better." They argue that the markets produce more accurate probabilities, as though accuracy is the only remaining virtue; but it's the virtue you keep when you've stopped believing in any of the others.</p><p>When a civilisation loses its ability to answer "what should we do" it retreats to answering "what will happen?" The late Romans did it, and late medieval astrologers did it, and late 19th century social Darwinists did it too. Each of these movements felt, to its practitioners, like a rigorous clarification, and each, in retrospect, is closer to a surrender.</p><p>Prediction markets are the 21st century version of that surrender: a technology for converting questions of value into questions of fact, and then trading the facts.</p><h2 id="the-scott-alexander-problem">The Scott Alexander problem</h2><p>Scott Alexander Siskind, writing as Scott Alexander at Astral Codex Ten, is the most thoughtful public defender of prediction markets working today. His argument, refined across a dozen essays from 2012 to 2025, is about this: prediction markets are useful tools for aggregating information and forcing experts to put money where their mouths are. They have costs, yes, but the costs are manageable, and so we should want more of them, not fewer.</p><p>But the question that matters isn't "do prediction markets produce accurate probabilities." They do, sometimes, on questions where they have enough liquidity and no manipulation incentive. I think the question is whether a civilisation that routes more and more of its public life through these markets is one in good health or coming apart at the seams.</p><p>The rationalist position = that better epistemics is always a good; knowing what's true is the first step to making things better, and you can't improve what you can't measure. But some things, some parts of our existence are degraded by measurement. Marriage quality, and artistic achievement, and the sanctity of a deliberative process. When you take a thing that was embedded in relational or political context and reduce it to a number, you may have made the thing more easy to understand; but you've also changed what the thing is.</p><p>This was James Scott's argument in <em>Seeing Like a State</em>, published in 1998, about forestry and city planning. The state, in order to manage a forest, has to render it as timber volume; once rendered, the forest is managed <em>as</em> timber; and so the ecological complexity, the cultural meaning, the local knowledge of which stands of trees matter for which villagers, all of it disappears into the measurement...it’s all timber, all the way down. Which of course, is not so different from defining an entire population as so many corpses.</p><p>Prediction markets render deliberation as probability, and once rendered, public questions are managed <em>as</em> probability, and the deliberation that produced the question vanishes - the argument for why the question matters vanishes too.</p><p>What's left?</p><p>The price.</p><h2 id="who-benefits">Who benefits</h2><p>The money on Polymarket and Kalshi comes from some identifiable sources. Crypto-native traders looking for a new volatility surface after the 2022 collapse of the lending markets, and Quant firms running information-arbitrage strategies, and political operatives testing narratives, and Journalists and hobbyists putting down small stakes for entertainment.</p><p>In the 2024 US election, Polymarket data showed a single French trader, named in a <em>Wall Street Journal</em> piece by Alexander Osipovich and Shane Shifflett in October 2024, putting down about $30 million across several accounts to bet on Trump. The bet moved the implied probability for weeks. And he won about $85 million when the results came in.</p><p>Set aside whether he had inside information. The point is that the "market consensus" on the most important political question of the year was shaped by the convictions of one rich person willing to take a large position. The market aggregated information, yes, but the information it aggregated was dominated by the bankroll of one participant.</p><p>This is the manipulation problem in miniature. In any market with thin liquidity and high civic importance, the price is going to reflect the beliefs of whoever's willing to put the most money in. The people who gain from this arrangement are the same people who gain from any financialisation of public life. Traders, platform operators, and a small cohort of well-capitalised political actors who can now move the apparent consensus on a question by buying it. The people who lose are everyone else. The citizen who reads the Polymarket number as a fact is consuming a number produced in part by someone's willingness to spend. The journalist who quotes the number is laundering that person's money into public knowledge. The policy-maker who uses the number to justify a decision is delegating to the bankroll. This was always the critique of modern financial markets at scale, from Hyman Minsky in the 1980s through to Adair Turner and Mariana Mazzucato in the 2010s. Prediction markets inherit it, and the civic stakes make it worse.</p><h2 id="why-this-feels-like-decay">Why this feels like decay</h2><p>Joseph Tainter argued in <em>The Collapse of Complex Societies</em>, published in 1988, that collapses share a signature. The society develops expensive institutions to manage complexity, and the returns on those institutions decline. The society can't afford them, and so the institutions fail or are abandoned. Reading Tainter alongside the current prediction-market boom is a strange experience. The pattern fits, but it fits sideways. The expensive institutions are things like the professional press, the civil service, the academy, the peer-reviewed journal, the national statistical agency - these were built through the 19th and 20th centuries to produce reliable public knowledge. They're all, right now, in various states of crisis // collapse…</p><p>Prediction markets are cheap. They don't need credentialed staff, or editorial judgment, or institutional memory. They produce a continuous stream of apparently reliable numbers, on any question you can phrase, for the cost of a small trading fee. From a pure cost-benefit standpoint, they look like a massive improvement on the old institutions. From a civic standpoint, they're a replacement, like a drive-through replacing a dinner table. The drive-through feeds you faster and cheaper; but the thing the dinner table was for, a slow shared practice of attention, isn't among the things the drive-through provides. Tainter's argument is that societies rarely notice they're replacing the dinner table with the drive-through until the dinner tables are gone. The cost savings look real and the institutional loss is invisible until a crisis demands the capabilities that only the old institutions had.</p><p>We've seen previews of this. During the 2020 pandemic, prediction markets priced the course of the disease with about the same accuracy as public health agencies, sometimes better. Many technologists used this as evidence that the CDC and WHO should be replaced in part by forecasting infrastructure. But the CDC was built to coordinate the response, distribute vaccines, run surveillance, and train the next generation of epidemiologists so the country would have them when the next crisis came - and forecasting was a small piece of a much larger public-health organism.</p><p>When you propose to replace the organism with a market, you're trading a capability for a number. The number is cheaper. When the next crisis comes, the number won't help. This is what civilisational decay looks like in detail. Expensive institutions are eaten by cheap substitutes, who are capable of doing only one thing the institutions did; the other things, the work of being a polity that can act, drop out. And by the time the polity needs to act, the infrastructure is long, long gone.</p><h2 id="late-moves-short-histories">Late moves, short histories</h2><p>Late-period civilisations discover elegant, efficient-looking technologies right before they're unable to use them...</p><p>The late Roman Empire had glass blowing, sophisticated concrete, hydraulic engineering, and long-distance banking on a level the West wouldn't rebuild for 800 years. The late Song dynasty had printing, gunpowder, movable type, and a paper currency system a millennium before European equivalents. Each civilisation's late period looks, to the historian, like a technological peak right before a collapse. This is partly survival bias, I’ll admit: we notice the technologies because they survived the collapse in the written record. But civilisations under pressure do accelerate innovation as a substitute for institutional repair - because the efficient new tool is cheaper than the expensive old practice, and the new tool gets adopted fast. The old practice atrophies, and when the new tool runs up against a problem it can't solve, the civilisation has no fallback.</p><p>Prediction markets fit this. They're elegant, they're efficient, they're sold to all of us as a modern replacement for expensive institutional practice, and they do solve one real problem, which is that credentialed experts are overconfident in their forecasts. But that problem is a tiny piece of the problem that the old institutions were built to handle. If you read Polybius on late Rome, or Ibn Khaldun on the Maghreb dynasties of the 14th century, or Gibbon on the Antonine age, you’ll highlight the same shit: clever technical solutions proliferate, and civic competence declines. People blame the institutions for their inefficiency, without noticing that the efficiency of the replacements is achieved by discarding the functions that the institutions existed to provide. Khaldun called this stage <em>haḍara</em>, the settled, luxurious phase of a civilisation where the original virtues have been hollowed out by comfort and specialisation.</p><h2 id="whats-missing-from-the-price">What's missing from the price</h2><p>Take a contract on "will Israel and Hamas reach a ceasefire by December 31, 2026." The price, on any given day, is some number between 0 and 1.0 Say it's 0.22.</p><p>What the price doesn't contain: an account of why a ceasefire would be a moral good, an account of who bears responsibility for the failure of previous ceasefires, a theory of what international pressure could shift the outcome, a map of which hostages are still alive, a record of what the killed journalists were writing before they died, or any sense of what it would mean, for the children now growing up in the Middle East, for the war to end in November instead of January.</p><p>None of this can be priced - the market cannot hold it.</p><p>The market can only hold the collapsed summary.</p><p>The market's defenders will say that all of this exists elsewhere, in the journalism, the NGO reports, the academic analysis, the long-form commentary. But "elsewhere" is losing its funding, losing its audience and losing its status, while the market is gaining all three. The price is becoming the authoritative output, while the elsewhere is becoming the decorative commentary around the price. And when you invert the relationship between the deliberation and the summary, you change what the summary means. In a healthy system, the probability number is a shorthand for a rich debate; in a decaying system, and we are in a decaying system, the debate is a shorthand for the probability number.</p><h2 id="from-orbit%E2%80%A6">From orbit…</h2><p>If I were diagnosing a civilisation from orbit, I'd look at what it bets on and what it refuses to bet on. A healthy civilisation bets on games, on contests, on horses, on private entertainments; it draws a line around the sacred or the civic, and refuses to price what's inside that line, and the line might move around, but at least it exists. A civilisation in decay erases the line: everything becomes a contract, from the death of a public figure, to the course of a war, to the outcome of an election, the next pandemic, the marriage of a celebrity, the survival of a pope. Nothing is held out of the market, because nothing and no one is sacred.</p><p>The first prediction markets, the Iowa markets in the late 1980s, confined themselves to electoral outcomes. Intrade, which launched in 2001 and collapsed in 2013, pushed the envelope into celebrity deaths and ran into legal and reputational trouble; Polymarket, since 2020, has been willing to list almost anything that generates volume. Each platform that pushed the boundary might not have gotten away with it, the boundary still moved all the same. The social response got weaker, and so did the legal response. I don’t think the boundary actually exists anymore, not in any meaningful sense. You can bet, right now, on the death of almost any named public figure, on the outcome of active military operations, on whether specific children of specific celebrities will be arrested. I don't think this happened because we decided as a society that it was fine. I think it happened because we stopped having a mechanism for deciding anything as a collective bunch of normal bloody people.</p><p>There's no golden age of public deliberation to return to. The 18th century betting books I described earlier coexisted with slavery, wife-selling, and press-ganging, and the 20th century public sphere excluded roughly half the population. My claim isn't that we've fallen from some prior height of mora superiority. I’m no fool. But civilisations - ours, specifically - can build institutions that hold certain questions out of the market, treat them as scred, and handle them through deliberation instead. When those institutions are healthy, the society can argue and act together; when they rot, the market floods in and prices what the institutions held out.</p><p>A version of us that wasn't decaying would have, in 2003, rejected the Policy Analysis Market, built better public forecasting inside the civil service, and kept the private prediction markets confined to commerce and entertainment. A version of us that wasn't decaying would treat Polymarket contracts on assassinations the way we treat snuff films, as something the market can technically produce and that the society refuses to consume. But we don't treat them that way, do we?</p><p>We cite them in the Financial fucking Times.</p><h2 id="a-small-hopeful-note">A small hopeful note</h2><p>A few people are still holding the line. The UK's Government Office for Science has experimented with internal prediction markets limited to scientific and technical questions, while keeping political questions out. Singapore's civil service uses forecasting tournaments of the Tetlock kind, carefully scoped. The Metaculus platform, non-monetary and governed by a research norm, has tried to build forecasting infrastructure with stronger civic guardrails than the commercial markets.</p><p>These are small efforts, fighting against a much larger tide, but they suggest that the choice between "no forecasting at all" and "price everything" isn't the only choice available. You can have institutions that use prediction-market techniques on some questions, under constraints, while defending a line that keeps other questions civic.</p><p>I think Polymarket and Kalshi are early rather than final. The infrastructure is cheap, the regulatory fights are mostly won, and the cultural objection has collapsed. Over the next 10 years, you'll see prediction markets embedded in news apps (they’re already live in Substack), used as the primary data feed for political coverage, integrated into corporate decision-making, and deployed inside political campaigns as both polling infrastructure and voter-suppression tools.</p><p>You'll see a second wave of markets on things that now seem unthinkable: markets on the outcomes of specific criminal trials, markets on marriages and divorces of named ordinary people who become briefly famous, markets on child custody outcomes, markets on refugee-camp mortality. There's no principled line that stops the expansion once the line against "civic questions" is gone, and that line fell in the early 2020s.</p><p>The prediction markets are the clearest sign of decay because they're the case where the pitch is most defensible, the technology works, the outputs are useful, and the long-term effect is corrosive anyway. You can't argue against them on their own terms; the terms are already the problem.</p><p>What you can do is keep asking the questions that the market can't price. What do we owe each other? What should we refuse to sell, even if someone wants to buy it? What are the things we used to know and have started forgetting? Those questions produce arguments and if we’re lucky, sometimes the arguments produce institutions, and if we’re luckier still, the institutions are the load-bearing walls of a civilisation that's still alive.</p><p>Our civilisation can still produce them. It mostly doesn't.</p>
<div class="kg-card kg-cta-card kg-cta-bg-grey kg-cta-minimal " data-layout="minimal">
<div class="kg-cta-sponsor-label-wrapper">
<div class="kg-cta-sponsor-label">
<span style="white-space: pre-wrap;">SPONSORED</span>
</div>
</div>
<div class="kg-cta-content">
<div class="kg-cta-content-inner">
<div class="kg-cta-text">
<p><span style="white-space: pre-wrap;">Westenberg is designed, built and funded by my solo-powered agency, Studio Self. Reach out and work with me:</span></p>
</div>
<a href="https://www.thisisstudioself.com/?ref=joanwestenberg.com" class="kg-cta-button " style="background-color: #000000; color: #ffffff;">
Work with me
</a>
</div>
</div>
</div>
Butterflies - James' Coffee Bloghttps://jamesg.blog/2026/04/23/butterflies2026-04-23T00:00:00.000Z
<p>I like to walk quickly. One of my childhood friends did, too. Whenever I reflect on the pace at which I walk, I think of the times when we tried to walk as fast as possible. My friend was much more athletic than I – with longer legs, too – so they often had the edge in walking speed. I loved trying to be quick anyway. Now, I have the joy of walking bringing back those memories.</p><p>When I notice something out in the world, I often stop in my tracks, eager to see or hear as much of what I have noticed as I can. The sound of church bells makes me stop and smile. The sight of cherry blossom makes me stop and appreciate the colours. On my walk today, I slowed and stopped at the sight of a red butterfly with white and black dots resting on a purple flower.</p><p>The butterfly walked over the flower. What colours do I see? Can butterflies pollinate? Was the butterfly taking a rest? All of these questions rushed to my mind; maybe the energy from the spring in my step was redirected to my imagination. I observed the slow pace of the butterfly. Maybe the butterfly was showing the beauty of slowing down every so often.</p><p>Toward the end of my walk, I saw a white butterfly flutter around the white blossoms of a blooming tree. I thought about how the colours matched, in contrast to the red and black and white butterfly on the purple flower. Matching and contrast – blending in and standing out – are both part of Nature?</p><p>Before going back into the house, I stopped again at the cherry blossoms outside and felt a few petals. I felt them in the spring rains a few days ago and wanted to feel them again – <em>how different is the texture?</em> Today, the petals were smooth and silky as I remember.</p><p>Strongly adhered to the tip of the branch, soon the petals will blow through the air and turn the grey ground pink – a fleeting moment for the ground and the tree, but one that lingers through the seasons in the mind.</p>
Copyright and DMCA Best Practices for Fediverse Operators - Werd I/O69e8e512d2d9230001cfb8552026-04-22T15:11:14.000Z<p>[<a href="https://www.eff.org/deeplinks/2026/04/copyright-and-dmca-best-practices-fediverse-operators?ref=werd.io">Mitch Stoltz at the EFF</a>]</p><p>A useful guide for anyone who is running their own community space — which includes folks running Mastodon instances, Bluesky hosts, RSS services, and so on. As the author explains in the preamble, there’s the potential for “massive, unpredictable financial liability”. It’s therefore really important to find ways to limit risk.</p><p>A lot of this is common sense:</p><blockquote>“Finally, make sure that nothing you post or advertise actively encourages copyright infringement. For example, don’t post examples of users uploading copyrighted music or video without permission, or insinuate that your server is a good place for infringing content.”</blockquote><p>Some of it is less obvious but still important. For example, responding promptly to DMCA notices — and not ignoring them regardless of technicalities — is one place where a less-savvy operator might fall over.</p><p>It’s easy to imagine compliance as a service for these kinds of operators, baked into the platforms themselves. So if you install a Mastodon instance and you could be subject to US law (which isn’t limited to instances operating in the US), there could be an easy way to set up with a service to handle all that for you. It could sit right alongside trust and safety services that are more aligned for community safety.</p><p>[<a href="https://www.eff.org/deeplinks/2026/04/copyright-and-dmca-best-practices-fediverse-operators?ref=werd.io">Link</a>]</p>New games on hold, old games return - Joel's Log Fileshttps://joelchrono.xyz/blog/new-games-on-hold-old-games-return2026-04-22T15:00:00.000Z<p>In all honesty, this is basically just another post to talk about games I haven’t finished yet but that have been very fun, so I just want to go on a quick ramble about how good they have been so far.</p>
<p>Some are on hold but still worth bringing up, and some I started over—after abandoning them for years—all of a sudden, and continued to play because they’re fun!</p>
<p>I am not sure what gets me to abandon games or put them on hiatus and just start new things instead. But it’s okay, <a href="https://joelchrono.xyz/blog/just-poking-away-at-videogames/">I don’t really care that much.</a></p>
<h2 id="new-games-on-hold">New games on hold</h2>
<p>The definition of new here is a little strange, I basically mean new <em>to me</em>, games that I started and played a bunch and now they’re abandoned, only temporarily, I hope.</p>
<p>I guess I have to talk about <strong>The Legend of Zelda: Breath of the Wild</strong>. That’s the first modern open world game that I’ve played on my Switch, for more than 60 hours by now. It still is very little compared to the playtimes other people have shared out there and I can see why.</p>
<p>Breath of the Wild has brought me so much joy, at the time I even purchased the DLC expansion, just to have more things to do. I must admit though, that some steam was lost. Not because the game is bad, but because ever since the Switch 2 came out I’ve been interested on playing the game with the improved performance that come with the new device. I pay for Switch Online + Expansion Pack so I wouldn’t have to pay any extra to enjoy them.</p>
<p>Perhaps, since I’ve decided not to buy a Switch 2 yet—unless the Ocarina of Time remake becomes a reality—I probably should give a spin to exploring Hyrule once more. There was not much story left, but alas, my procrastination is stronger.</p>
<hr/>
<p><strong>Hollow Knight Silksong</strong> is another big game that I’ve been meaning to return to lately. The size of Pharloom is a sight to behold. More than once I’ve thought the map was completed only for new areas to keep showing up again and again. You’ve heard about this game, it’s challenging, it’s intense, it’s beautiful, it’s among the best.</p>
<p>By now, I only have a few side quests to complete, and after those I should be able to unlock the last part of the game, which I’m still, thankfully, very much blind on.</p>
<p>It has been a few months since I’ve played this one, I think I need to get used to the controls again, but I will manage somehow.</p>
<hr/>
<p>Another game worth bringing up here is <strong>Outer Wilds</strong>, which I started playing alongside the new year, catching me by complete surprise and sucking me into its universe for many days in a row, as I explored through the vastness of the solar system.</p>
<p>It has given me so much joy, the discoveries and mechanics were so mind-blowing that I could only stare with my jaw dropped as the game kept breaking what I thought I knew every single time. I am still not sure what got me to stop on my tracks.</p>
<p>I will blame my own laziness, as I got stuck in one section and couldn’t bother to find my way there again. I really should get over it though, it wasn’t a big deal. And of course, I can always just go elsewhere and keept uncovering other secrets, because it’s just that kind of game.</p>
<h2 id="old-games-i-started-over">Old games I started over</h2>
<p>And here, it’s old games as in “games I played a lot, a long time ago and decided to start them over because of it”, or something like that.</p>
<p>The first one I need to mention here is <strong>Terranigma</strong>, an old title for the Super Nintendo that I learned about maybe seven or so years ago. It was a game that caught my attention since it never made it to the Americas, and was considered to be a hidden gem of the platform.</p>
<p>When I first played it, I remember very well convincing a few streamers and YouTubers to give it a go, it was one of my proudest achievements at the time, but I never finished the game myself, abandoning it for now reason after13 hours or so.</p>
<p>This year, I returned to it when I say some people started it this year, and it has been a joy! The combat in this game is great for the time, I love how I can almost always be on the move, dashing through enemies and completing dungeons. Definitely plan to keep going with it.</p>
<hr/>
<p><strong>Metal Gear Solid Peace Walker</strong>, however, is a title that I really didn’t expect to return, I was interested during the <a href="https://joelchrono.xyz/blog/it's-psp-season/">PSP season</a> last year, but never bothered, I was plenty happy playing <a href="https://joelchrono.xyz/blog/ys-the-oath-in-felghana/">Ys</a>, I guess.</p>
<p>Last time I played it, 8 years ago or so, I got stuck on a boss fight against an AI-powered vehicle after four hours or so of gameplay. I couldn’t figure it out and I have no idea why I didn’t look up a guide. The game was a joy, I actually thought I played it for at least ten hours, but nope, I gave up so quick on it, <em>pathetic.</em></p>
<p>This time, much more accustomed to gaming as a whole, I’ve managed to surpass that battle, and even double Mr playtime by now. I am enjoying this game a lot, and I’m glad I gave it another shot, as it’s perfect for my work commutes right now.</p>
<hr/>
<p>Finally, one of the recent games I beat, <strong><a href="https://joelchrono.xyz/blog/resident-evil-2/">Resident Evil 2</a></strong> has to belong here as well, I tried it out on my PSP first, at some point in 2018. I made little progress on it, reaching the Police Station and being a bit too scared to keep playing it.</p>
<p>I believe that I was also rather invested on <em>Suikoden 2</em> at the time, which was more appealing to me, I must say. But well that one’s on hold too,</p>
<p><em>And I also have the remake for Switch, but that’s a other story.</em></p>
<p>But now? I have completed Leon A and Claire B, and I can see myself doing so much more. The game has more modes and difficulties and all of that, I’m actually kind of looking forward to it, but, maybe I’ll need to return to RE3 first.</p>
<h2 id="finishing-thoughts">Finishing thoughts</h2>
<p>As I stated when I started, I just wanted to write about some videogames, I guess, and hopefully inspire someone to play along, or check the backlog and pick something already.</p>
<p>What are some of the titles that you haven’t returned to in a long time? What is the game you are currently obsessed with?</p>
<p>Perhaps I should not ask, I already have so many games on my list, and I already endangered my playthrough of <em>Peace Walker</em> because I purchased <em>Vampire Crawlers</em> this morning, so, send help…</p>
<p>This is day 55 of <a href="https://100daystooffload.com">#100DaysToOffload</a></p>
<p>
<a href="mailto:me@joelchrono.xyz?subject=New games on hold, old games return">Reply to this post via email</a> |
<a href="https://fosstodon.org/@joel/116448988505885548">Reply on Fediverse</a>
</p>[RSS Club] How do you preserve an RSS feed? - Terence Eden’s Bloghttps://shkspr.mobi/blog/?p=705212026-04-22T11:34:46.000Z<p><mark><em>Psssst!</em> This <strong>top secret</strong> post is only available to RSS subscribers!</mark></p>
<p>I was sent this thought-provoking blog post called "<a href="https://eve.gd/2026/04/19/the-necessary-pain-involved-in-blogging-if-you-want-your-work-to-be-preserved-beyond-your-lifespan/">The Necessary Pain Involved in Blogging (if you want your work to be preserved beyond your lifespan)</a>".</p>
<p>In it, Martin Paul Eve makes the case that trying to preserve a blog is difficult. I mostly agree with him (although think he's perhaps a little hair-shirted about it) and it made me think about what I do in terms of preservation.</p>
<p>This feed is <a href="https://web.archive.org/web/20260000000000*/https://shkspr.mobi/blog/feed/atom/">captured by the Internet Archive</a>. That's been useful on the rare occasions where my posts have been corrupted and I don't have a backup.</p>
<p>I got my blog an <a href="https://shkspr.mobi/blog/2021/09/how-to-add-issn-metadata-to-a-web-page/">ISSN</a>. I guess in theory this mean the British Library have a right to archive it? But I haven't looked in to whether that is the case.</p>
<p>I don't store my posts in a git repository. Perhaps I should?</p>
<p>I like the idea of <a href="https://wordpress.com/100-year/">WordPress's 100 year domain name</a> but I'm not sure if I trust the current owner not to completely shit the bed. And it's hard to justify £31k on a vanity project.</p>
<p>I'm not a scholar, so using something like <a href="https://rogue-scholar.org/">Rogue Scholar</a> feels inappropriate. My content also isn't Creative Commons licenced (perhaps it should be?).</p>
<p>If you have a good solution for a long-term, stable, and relatively cheap method of preserving a blog (and its RSS feed) please <a href="https://edent.tel/">drop me a comment via your favourite method</a>.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=70521&HTTP_REFERER=Atom" alt="" width="1" height="1" loading="eager"/>Living the indie web life - James' Coffee Bloghttps://jamesg.blog/2026/04/22/living-the-indie-web-life2026-04-22T00:00:00.000Z
<p>In 2018, <a href="https://david.shanske.com/2018/03/18/an-indieweb-podcast-episode-0/">David and Chris recorded a podcast episode about the indie web</a> in which the topic “living the indie web life” came up. As soon as I heard the phrase, I thought to myself: what does living the indie web life mean to me?</p><p>This evening I hosted an online <a href="https://indieweb.org/Homebrew_Website_Club" rel="noreferrer">Homebrew Website Club</a>, a meetup where people from around the world get together to chat about all things personal websites. We chat about writing, publishing, organising our thoughts on the web, the potentials of the web as a medium, HTML and CSS, and more. The meetup is a forum for informal chat – we don’t expect familiarity with any topic. If you are interested in personal websites, you are most welcome.</p><p>During the meeting, Ana shared a cross-stitch of the IndieWeb community logo (so amazing!), which she then <a href="https://front-end.social/@anarodrigues/116450064289751783">posted about on Mastodon after the meetup</a>. I responded to the Mastodon post from my own website, publishing a response and syndicating it using Brid.gy Fed so that it would show up in response to Ana’s post. <a href="https://jamesg.blog/2026/04/22/9201f1">Here is my original post</a>, and <a href="https://front-end.social/@jamesg.blog@jamesg.blog/116450147265681568">here is the version on Mastodon</a>.</p><p>I found out about Ana’s post via <a href="https://artemis.jamesg.blog" rel="noreferrer">Artemis</a>, the web reader I maintain; I follow Ana’s Mastodon posts from there. On Artemis today I also saw visual art from an arts publication I follow, learned that The Met museum publishes archival materials “from the vaults”, read a kind comment someone left on my guestbook, read about an idea that opened my mind, learned about how my local government is making voting spaces more accessible, and more.</p><p>The last three paragraphs summarise my day in the life on the indie web, and represent what I feel a slice of the indie web life can be like. At the heart of the indie web is people and conversation, with a bit of purposefully-designed technology that helps us stay connected. At the heart of the indie web is community, because to build a better web we need to work together. </p><p>Earlier this week, I wrote in my notes:</p><blockquote>I don’t want to give my power away when it comes to technology. I don’t want anyone else to have to give their power away either.</blockquote><p>Living the indie web life, to me, means resisting giving my power away when it comes to how I express myself on the web. I want to express myself in my own way, and stay connected to my friends without having to go through a third-party intermediary who doesn’t have my best interests at heart.</p><p>Because I have a website, I can share these words directly with you, and know they will show up in the way I want them to without adverts or tracking. Indeed, this website may be mine, but the words are for you.</p><p>Living the indie web life to me also means helping others to take control of their web presence, too. I host events because I want to create space for discussions – for people to think about and discuss and digest the question "how do I want to make my own spaces on the web?" I made Artemis available for others to use because I found the idea of a web reader that updates once per day useful. I thought other people might find the software useful, too.</p><p><em>What does living the indie web life mean to you?</em></p>
<!--kg-card-begin: html-->
<p>This post was <a class="u-syndication" href="https://news.indieweb.org/en">syndicated to IndieNews.</a></p>
<!--kg-card-end: html-->
<a class="tag" href="https://artemis.jamesg.blog">Artemis</a>
<a class="tag" href="https://david.shanske.com/2018/03/18/an-indieweb-podcast-episode-0/">David and Chris recorded a podcast episode about the indie web</a>
<a class="tag" href="https://front-end.social/@anarodrigues/116450064289751783">posted about on Mastodon after the meetup</a>
<a class="tag" href="https://front-end.social/@jamesg.blog@jamesg.blog/116450147265681568">here is the version on Mastodon</a>
<a class="tag" href="https://indieweb.org/Homebrew_Website_Club">Homebrew Website Club</a>
<a class="tag" href="https://jamesg.blog/2026/04/22/9201f1">Here is my original post</a>
<a class="tag" href="https://news.indieweb.org/en">syndicated to IndieNews.</a>
Read "Scam messages offering ships safe transit through Hormuz, security firm warns" - Molly White's activity feed69e780f27bbd252405ccb05f2026-04-21T13:51:46.000Z<article class="entry h-entry hentry"><header><div class="description">Read: </div></header><div class="content e-content"><div class="article h-cite hcite"><div class="title"><a class="u-url u-repost-of" href="https://www.reuters.com/world/middle-east/scam-messages-offering-ships-safe-transit-through-hormuz-security-firm-warns-2026-04-21/" rel="bookmark">“<span class="p-name">Scam messages offering ships safe transit through Hormuz, security firm warns</span>”</a>. </div><div class="byline"><span class="p-author h-card">Reuters</span> in <i class="p-publication">Reuters</i>. <span class="read-date"> Published <time class="dt-published published" datetime="2026-04-21">April 21, 2026</time>.</span></div><blockquote class="summary p-summary entry-summary">Fraudulent messages promising safe passage through the Strait of Hormuz in exchange for cryptocurrency have been sent to some shipping companies whose vessels are stranded west of the waterway, Greek maritime risk management firm MARISKS has warned.</blockquote><img src="https://www.mollywhite.net/assets/images/placeholder_social.png" alt="Illustration of Molly White sitting and typing on a laptop, on a purple background with 'Molly White' in white serif." style="display: none;"/></div><img src="https://www.mollywhite.net/assets/images/placeholder_social.png" alt="Illustration of Molly White sitting and typing on a laptop, on a purple background with 'Molly White' in white serif." style="display: none;"/></div><footer class="footer"><div class="flex-row post-meta"><div class="timestamp">Posted: <time class="dt-published" datetime="2026-04-21T13:51:46+00:00" title="April 21, 2026 at 1:51 PM UTC">April 21, 2026 at 1:51 PM UTC</time>. </div></div><div class="bottomRow"><div class="tags">Tagged: <a class="tag p-category" href="https://www.mollywhite.net/feed/tag/crypto" title="See all feed posts tagged "crypto"" rel="category tag">crypto</a>. </div></div></footer></article>Better TTS on Linux - Terence Eden’s Bloghttps://shkspr.mobi/blog/?p=684972026-04-21T11:34:07.000Z<p>The venerable eSpeak is a mainstay of Linux distributions. It is a clever Text-To-Speech (TTS) program which will read aloud the written word using a phenomenally wide variety of languages and accents.</p>
<p>The only problem is that it sounds robotic. It has the same vocal fidelity as a 1980s Speak 'n' Spell toy. Monotonous, clipped, and painful to listen to. For some people, this is a feature, not a bug. I have blind friends who are so used to eSpeak that they can crank it up to hundreds of words per minute and navigate through complex documents with ease.</p>
<p>For the rest of us, it is a steep and unpleasant learning curve.</p>
<p>There are lots of modern TTS programs using all sorts of advanced AI. Many of them are paywalled or require you to post your text to a webserver - with all the privacy and latency problems that causes. Some are restricted to high-powered GPUs or other expensive equipment.</p>
<p><a href="https://github.com/OHF-Voice/piper1-gpl">Piper</a> is different. It is local first, runs quickly on modest hardware, and is open source.</p>
<p>The easiest way to install it on Linux is to use <a href="https://pied.mikeasoft.com/">Pied</a> - a simple GUI which allows you to select languages, listen to accents, and then install them.</p>
<img src="https://shkspr.mobi/blog/wp-content/uploads/2026/03/pied.webp" alt="GUI showing various British English languages." width="594" height="695" class="aligncenter size-full wp-image-68498"/>
<p>It will change your <code>speech-dispatcher</code> to use the new Piper voice. That means it is immediately available to your Linux DE's accessibility service and to apps like Firefox.</p>
<p>I now have a <a href="http://news.bbc.co.uk/1/mobile/scotland/7754111.stm">reassuring Scottish lady</a> speaking out everything on my computer.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=68497&HTTP_REFERER=Atom" alt="" width="1" height="1" loading="eager"/>Rainbow; moon - James' Coffee Bloghttps://jamesg.blog/2026/04/21/rainbow2026-04-21T00:00:00.000Z
<p>The kitchen was scattered with rainbows as the sun shone through the frosted glass. Maybe the glass was put there to make rainbows; what was the architect thinking when they designed this place? I saw the shadows of my head and my hair cast onto the cabinets. Can I make a shadow puppet? I raised my hands and tried to make shapes. My favourite was the love heart, which, through the way the light was cast into the room, had another love heart in a slightly lighter shade of grey behind it. We made a double heart.</p><p>I went to look out the window as the sun set and noticed the moon at the top of the sky. The sun and the moon, together – the place where there was the light that made the rainbows will soon be of the moon: a more delicate light in the night sky. The moon will be surrounded by a sea of stars. There may be clouds – there so often are – but we can still see the stars even if they are hidden.</p><p>Last night, I even thought the clouds gave beauty to the night sky by the way that the light from the moon was dampened by, but still shone through, the grey; by how the light passed through.</p>
Quinceañera, Metal Gear Solid, Book shopping! - W16 - Joel's Log Fileshttps://joelchrono.xyz/blog/w162026-04-20T21:30:00.000Z<p>Welcome, to my week notes! Can you believe that we are almost done with April already? There have been a lot of things going on lately, but hey, at the very least I keep reading on my XTEINK X4 and nudging other people to buy it too, because it sparks joy.</p>
<p>Jokes aside, here are some of the things that happened between April 14 to 20, from the year 2026!</p>
<ul>
<li>
<p>📕 <strong>Discovered a super cool plugin for <a href="https://koreader.rocks">Koreader</a></strong> which let’s you modify the UI in a really awesome way. It basically fixes the biggest caveat with the software, as it’s now much simpler and user-friendly! I switched on the spot, not looking back now. The plugin is <a href="https://github.com/doctorhetfield-cmd/simpleui.koplugin/releases/">SimpleUI</a>, go and get it! I decided to modify the layout on mine and it displays some stats now, very neat.</p>
</li>
<li>
<p>🔋 <strong>Thought for a second that my PSP was dead</strong>. It wouldn’t turn on, I tried plugging it and the charging indicator wouldn’t light up. Thankfully, I still have my original battery—I replaced it with an Ostent one a while back—and that let me turn it on to charge, then swap back to my current battery. I think simply connecting the AC adapter without a battery would have worked too, alas, it’s more than alive and well.</p>
</li>
<li>
<p>🎮 <strong>Messed around with my Anbernic RG35XX SP</strong>, using <a href="https://portmaster.games">PortMaster</a> to install <em>Fallout</em> on it! Unfortunately, the control scheme depended on analog sticks, which my handheld lacks. I also setup AM2R, which works wonderfully after messing around a bit with the screen ratio. I am looking forward to trying it that one, but I also want to continue with <em>Fallout</em> on my laptop at some point.</p>
</li>
<li>
<p>📺 <strong>My YouTube algorithm was on a roll this week</strong>, if you usually skip my video links, or don’t even scroll down that far for these posts, I encourage you to check this time, I actually learned quite a bit from these videos, and I’m sure at least one of them will be interesting to you too.</p>
</li>
<li>
<p>🟩 <strong>Returned to play daily word games</strong>, which I was very into not that long ago. I still prefer and play <a href="https://tiledwords.com">Tiled Words</a> the most! Although I haven’t made a streak yet, I keep forgetting to play every once in a while.</p>
</li>
<li>
<p>🎂 <strong>There was a Quinceañera party</strong> for one of our church members! It was a fun time. There was party and a small ceremony to celebrate! I edited a video compiling memories of her life, which took me longer than I’d like to admit, the family sent me lots of photos.</p>
</li>
<li>
<p>📚 Purchased a few books from the Kobo store. I must say a lot of the time my purchases were through… “unofficial”… means. But not this time! Here is a list, let me know which one to start first:</p>
<ul>
<li><em>Aurora</em> by Kim Stanley Roninson</li>
<li><em>Dawn</em> by Octavia E. Butler</li>
<li><em>The Old Man and the Sea</em> by Ernest Hemingway</li>
<li><em>The Dispossesed</em> by Ursula K. Le Guin</li>
<li><em>Hyperion</em> by Dan Simmons</li>
<li><em>The Screwtape Letters</em> by C.S. Lewis</li>
<li><em>Welcome to Night Vale</em> and</li>
<li><em>Alice Isn’t Dead</em> by Joseph Fink</li>
<li><em>The Pearl</em> by John Steinbeck</li>
</ul>
</li>
</ul>
<h2 id="reading">Reading</h2>
<p>I continued my reading of <strong>Clarkesworld Magazine #211</strong>, and I’m halfway there with <em>The Indomitable Captain Holli</em>, a novella that I thought I’d hate at first, and then it kept unraveling and revealing some incredible stuff going on and well, it hooked me real good.</p>
<p>As for manga, <strong>Fly Me To The Moon</strong> remains fun. I’m on chapter 262 and there’s this little arc with a mock exam competition that I’ve enjoyed a bit. Also a relatively new character about to uncover a certain secret that is very intriguing to me!</p>
<p>Also catched up on the weekly chapter of <strong>Spy x Family</strong> and <strong>Blue Lock</strong>, as awesome as ever.</p>
<h2 id="gaming">Gaming</h2>
<p>I’m not sure what took over me, but I started <strong>Metal Gear Solid: Peace Walker</strong> on my PSP! I tried this title a long time ago, around 2017 or so when I first got into PSP gaming. Unfortunately, I pretty much played the game wrong, I guess, and I got to a boss fight that I just couldn’t figure out. I decided to start over and get used to the game again. So far I’ve had a lot of fun. The game is divided in short mission segments. Between each mission you can also do some base management and from there develop new weapons and items.</p>
<p>Anyway, the main gameplay is stealth, and so far it’s been fun. The controls took a bit of getting used to but I stuck with the “Hunter” control type (based on the Monster Hunter games) and haven’t looked back. The latest mission I’m doing is a boss fight against an unmanned vehicle, the same one that I never completed years ago. I’ll definitely do it this time!</p>
<p>I continued my playthrough of <strong>Terranigma</strong> too, where I completed the last tower, which was the first serious boss fight of the game, against a giant scorpion-like creature. Before that I got a new armor given to me by my childhood friend. and after defeating the monster, I’m looking for the secret areas in the underworld. I already found one of them!</p>
<p>Last but not least, I actually continued with <strong>Pokémon Emerald Legacy</strong> for a bit, up to the first battle against my antagonist! In case you are wondering, I chose Torchic as my starter by the way! I am happy to have my running shoes now too, although I wish there was a way to always toggle them instead of keeping the button pressed. It’s alright though.</p>
<h2 id="around-the-web">Around the Web</h2>
<p>This time I mostly watched YouTube while doing a lot of chores, and I gotta say, the video selection this time was super interesting! I hope you check them out. Of course, first I gotta share some good old blogposts from some people I follow!</p>
<h3 id="blog-posts">Blog posts</h3>
<ul>
<li>
<p><a href="https://brainbaking.com/post/2026/04/my-workspaces/">My Workspaces</a> - This is such a good idea for a blogpost but I’m afraid that I don’t think I have more than two pictures of different things. What a trip though… perhaps I could draw from memory? Anyway read it.</p>
</li>
<li>
<p><a href="https://axxuy.com/blog/2026/back-in-space/">Back In Space</a> - Why do you have to tempt me to try Gemini—the web protocol, not the other ugly thing—again? I will <em>not</em> convert all my markdown posts into that format, nope.</p>
</li>
<li>
<p><a href="https://cassie.ink/week-notes/2026/W16/">I won’t save you but I’ll show you how (2026-W16)</a> - After a long hiatus, Cassie is back to blogging, and she has some wonderful news to share. Her weeknotes were sorely missed during these trying times, all the best!</p>
</li>
<li>
<p><a href="https://jacksonchen666.com/posts/2026-04-16/08-07-08/">This isn’t March</a> - Guess the theme for these weeknotes will be “websites on hiatus that suddenly returned”, so, yeah, nice to have you back Jack, not enough gaming updates.</p>
</li>
<li>
<p><a href="https://thatalexguy.dev/fits-on-a-floppy">Fits on a Floppy</a> - Creating code is an art too, so I enjoyed this post which was inspired by some modern programs that would fit on a floppy disk from back in the day!</p>
</li>
</ul>
<h3 id="youtube">YouTube</h3>
<ul>
<li>
<p><a href="https://youtu.be/st_Ah6Ykbh4">What Did Ancient Humans Do at Night?</a> - This was an incredibly interesting video, and it explains so much. I am actually kind of interested on experimenting with the information shared here.</p>
</li>
<li>
<p><a href="https://youtu.be/-tNvoDw7Pq4">Why Bad Art Makes Great Games</a> - What an essay this was, and I highly agree. The title is a bit wrong though, it’s more about art direction and being willing to not just go for realism, which is where a lot of modern games default to nowadays.</p>
</li>
<li>
<p><a href="https://youtu.be/r9ucXEyE5kY">When Graphics Changed Forever</a> - This was an awesome mini-documentary detailing the technology and improvements between 1996 and 2006 in graphics on both consoles and PCs. It explains a lot in a very approachable way and with a lot of comparisons and visuals which I enjoyed. Always nice to see Resident Evil on a thumbnail.</p>
</li>
<li>
<p><a href="https://youtu.be/E1BLGpE5zH0">Air Powered Segment Display: 3D Printed Microfluidic RAM?</a> - My engineering brain was tickling while watching this vide. This is such a fun technology, and I wonder what other applications it may have.</p>
</li>
<li>
<p><a href="https://youtu.be/KaljD3Q3ct0">I Solved Connect 4</a> - I rarely watch videos that deal with pure Math and board games, but this one was a welcome surprise, the extremely satisfying graphis and animations helped out a lot.</p>
</li>
<li>
<p><a href="https://youtu.be/-qUu8kIliy8">Making the most pickproof lock yet</a> - Another wonderful video with a lot of engineering on it. I am no lockpicker, but I am sure Jill, <a href="https://youtu.be/bZMkkFKL-Ks">the Master of Unlocking</a>, would have no problem.</p>
</li>
<li>
<p><a href="https://youtu.be/cToDQZPw8qY">Chill Gaming for Busy Adults</a> - A fun Tech Dweeb video that shares some tips and tricks to actually play videogames when you are a responsible adult, or something. I just play videogames idk.</p>
</li>
</ul>
<p>
<a href="mailto:me@joelchrono.xyz?subject=Quinceañera, Metal Gear Solid, Book shopping! - W16">Reply to this post via email</a> |
<a href="https://fosstodon.org/@joel/116439213606274869">Reply on Fediverse</a>
</p>Published on Citation Needed: "Issue 104 – World Tyranny Financial" - Molly White's activity feed69e67e7acc098e890d542d7f2026-04-20T19:28:58.000Z<article class="entry h-entry hentry"><header><div class="description">Published an issue of <a href="https://www.citationneeded.news/"><i>Citation Needed</i></a>: </div><h2 class="p-name"><a class="u-syndication" href="https://www.citationneeded.news/issue-104" rel="syndication">Issue 104 – World Tyranny Financial </a></h2></header><div class="content e-content"><div class="media-wrapper"><a href="https://www.citationneeded.news/issue-104"><img src="https://www.citationneeded.news/content/images/size/w2000/format/webp/2026/04/wlfi-eric-trump.jpg" alt="Zak Folkman, Eric Trump, and Zachary Witkoff speak onstage at a conference. Superimposed is the price chart for WLFI, which has dramatically gone down."/></a></div><div class="p-summary"><p>As the Trump family’s crypto dealings raise more alarms, crypto enforcement is falling to new lows</p></div></div><footer class="footer"><div class="flex-row post-meta"><div class="timestamp">Posted: <a class="u-url" href="https://www.citationneeded.news/issue-104"><time class="dt-published" datetime="2026-04-20T19:28:58+00:00" title="April 20, 2026 at 7:28 PM UTC">April 20, 2026 at 7:28 PM UTC</time>. </a></div><div class="social-links"> </div></div><div class="bottomRow"><div class="tags"></div></div></footer></article>My Best Sub £100 Purchase - Kev Quirkhttps://kevquirk.com/my-best-sub-100-purchase2026-04-20T16:50:00.000Z
<p>I was recently listening to an episode of The Idea Roastery about <a href="https://www.youtube.com/watch?v=DkxGrarP_oU">personal life gamechangers</a> and toward the end of the episode, <a href="https://herman.bearblog.dev">Herman</a> asked Jason:</p>
<blockquote>
<p>What is the best purchase you've ever made for less than £100?</p>
</blockquote>
<p>For Jason is was an egg poacher, and for Herman it was a coffee grinder. This discussion got me thinking about what mine was, and I really wasn't sure at first. But after some thought, it hit me.</p>
<p>It's my dog, Tia!</p>
<p><img src="https://kevquirk.com/content/images/my-best-sub-100-purchase/tia-01.webp" alt="tia-01" /></p>
<p>She's getting old now, at nearly 14 years of age. But my wife and I got when she was 9 weeks old, after being taken from the litter at just 6 weeks old by some scumbag who ended up dumping her.</p>
<p>She cost us £80, and for that £80 we've had <em>years</em> of love, affection, and friendship from her. She's definitely my game-changer.</p>
<p>She's pretty cool too...</p>
<p><img src="https://kevquirk.com/content/images/my-best-sub-100-purchase/tia-02.webp" alt="tia-02" /></p>
<p>I absolutely love everything about this dog. She's my best friend in the world. She's kind. She's gentle. She's the <em>best</em> at spooning too. Seriously, <strong>the best</strong>.</p>
<p>As I look back at a life well lived and she heads into her twilight years, we know we don't have long left with her, but my goodness the years we have had have been incredible.</p>
<p>So yeah, Tia is by far the best sub £100 I've ever spent, and probably will ever spend.</p>
<p><img src="https://kevquirk.com/content/images/my-best-sub-100-purchase/tia-03.webp" alt="tia-03" /></p>
<p>Love you, T-bone. x</p> <div class="email-hidden">
<hr />
<p>Thanks for reading this post via RSS. RSS is ace, and so are you. ❤️</p>
<p>You can <a href="mailto:19gy@qrk.one?subject=My%20Best%20Sub%20%C2%A3100%20Purchase">reply to this post by email</a>, or <a href="https://kevquirk.com/my-best-sub-100-purchase#comments">leave a comment</a>.</p>
</div>
Note published on April 20, 2026 at 12:40 PM UTC - Molly White's activity feed69e64a92cc098e890d542d122026-04-20T12:40:26.000Z<article><div class="entry h-entry hentry"><header></header><div class="content e-content"><p>ghoulish</p><div class="media-wrapper"><a href="https://storage.mollywhite.net/micro/eb0b81d29cbf10810e81_forbespredict.png" data-fslightbox=2d397fb651ddf3dfd1a5><img src="https://storage.mollywhite.net/micro/eb0b81d29cbf10810e81_forbespredict.png" alt="A Forbes article about a father who killed eight children, with an embedded prediction widget inviting people to speculate on whether "Congress will pass new gun safety legislation before 31st December 2026"" /></a></div></div><footer class="footer"><div class="flex-row post-meta"><div class="timestamp-block"><div class="timestamp">Posted: <a class="u-url" href="https://www.mollywhite.net/micro/entry/202604201145"><time class="dt-published" datetime="2026-04-20T12:40:26+00:00" title="April 20, 2026 at 12:40 PM UTC">April 20, 2026 at 12:40 PM UTC</time>. </a></div></div><div class="social-links"> <span> Also posted to: </span><a class="social-link u-syndication mastodon" href="https://hachyderm.io/@molly0xfff/116437817750272520" title="Mastodon" rel="syndication">Mastodon, </a><a class="social-link u-syndication bluesky" href="https://bsky.app/profile/molly.wiki/post/3mjwighk7uc2e" title="Bluesky" rel="syndication">Bluesky</a></div></div><div class="bottomRow"><div class="tags">Tagged: <a class="tag p-category" href="https://www.mollywhite.net/micro/tag/gambling" title="See all micro posts tagged "gambling"" rel="category tag">gambling</a>, <a class="tag p-category" href="https://www.mollywhite.net/micro/tag/journalism" title="See all micro posts tagged "journalism"" rel="category tag">journalism</a>, <a class="tag p-category" href="https://www.mollywhite.net/micro/tag/media" title="See all micro posts tagged "media"" rel="category tag">media</a>, <a class="tag p-category" href="https://www.mollywhite.net/micro/tag/prediction_markets" title="See all micro posts tagged "prediction markets"" rel="category tag">prediction markets</a>. </div></div></footer></div></article>Book Review: Up - A scientist's guide to the magic above us by Dr Lucy Rogers ★★★★★ - Terence Eden’s Bloghttps://shkspr.mobi/blog/?p=705132026-04-20T11:34:38.000Z<img src="https://shkspr.mobi/blog/wp-content/uploads/2026/04/9781529930290.webp" alt="Book cover featuring butterflies and clouds." width="200" class="alignleft size-full wp-image-70514"/>
<p>My mate Dr Lucy Rogers has written a book! This is a charming and thought provoking exploration of everything that goes on above our heads. This isn't an impersonal and imperious manuscript, it's a deeply personal and joyful book filled with science, anecdotes, and the thrill of discovery.</p>
<p>It's spectacularly accessible. Written in a relaxed and casual tone, it encourages <em>domestic</em> science. I don't mean bakery, I mean the sorts of observations you can do at home without access to a multi-million pound laboratory. The afterword of the book contains dozens of resources for people who want to get involved in science. Dr Rogers eloquently makes the case that you don't need to dedicate yourself full time - it's perfectly acceptable to engage with it on your own terms.</p>
<p>What I liked most about it was that she gets her hands dirty. It would have been easy to write a literature review from the comfort of a safe and dry office. Instead we get a travelogue of all the places she's been - each trek through the forest, every laboratory, and all the foreign festivals are brilliantly recounted. It's a proper adventure from America's tornado alley down to the Vatican Archives.</p>
<p>I find it remarkable how slow some modern science is. As she points out, "there have been only eight transits of Venus since the telescope was invented" - our knowledge rests on the shoulders of giants, but they can be slow, lumbering beasts.</p>
<p>If, like me, you only have a hazy memory of the science you learned at school, this book will top up your knowledge (and vocabulary). It will reignite your passion and curiosity about the world around you - and make you want to buy a round the world ticket to chase solar eclipses!</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=70513&HTTP_REFERER=Atom" alt="" width="1" height="1" loading="eager"/>How we lost the living Now - Westenberg69e579348a8c9600016dd3732026-04-20T01:01:22.000Z<img src="https://www.joanwestenberg.com/content/images/2026/04/Halftone-Dots@2x--10-.png" alt="How we lost the living Now"><p>In 1840, England’s Great Western Railway started running the trains on “railway time” - a single standard, set by Greenwich, instead of the local // solar time each town had kept, independently for centuries.</p><p>Before the railway, noon in Bristol happened roughly ten minutes after noon in London, and nobody much gave a damn - they had no reason to. Time was...time. After the railway, people had to care - because a train leaving Paddington at 12 couldn’t mean one thing in London and another thing in Reading, or the passengers would miss it, or the signalmen would have no ability to coordinate, and the whole apparatus would fall apart.</p><p>That moment is, I believe, when we started losing our hold on the present.</p><p>Before the railway, time belonged to the place where you stood. Your noon was the noon of the sun over your head; a farmer in Wiltshire and a clerk in Liverpool would share a year, and a season, but they didn’t share a minute. The minute was solely the possession of your immediate surroundings, and you owned it.</p><p>But the railway needed a common minute - or it couldn’t run.</p><p>And then - once we had the common minute - we discovered that it could be commoditised. It could be bought and sold.</p><p>In 1911, Frederick Winslow Taylor turned the commoditisation of the minute into a science when he published The Principles of Scientific Management - which he had assembled by standing over the shoulder of various factory workers, wielding a stopwatch, breaking their labour into fractions of a minute. He calculated how long it should take to lift a pig iron bar, and how long to carry it across a yard, and how long to drop it onto a pile. He paid workers more, if they hit his numbers, and less if they “whiffed” - and he wrote all of this down in tables which became, eventually, an entire philosophy of industrial productivity...</p><p>Taylor’s “innovation” - if we can call it that - was treating a human’s time, and by extension their very mortality, as a commodity priced by the single second; and building on that foundation the idea that time, left unoptimised, was “theft.”</p><p>After Taylor, time was something you either used, or you wasted - no third option. The present moment became a quantity.</p><p>The telegraph had started this work 70-odd years before. Samuel Morse’s first public transmission in 1844 (“What Hath God Wrought”) collapsed the time between Baltimore and Washington, from days into seconds. The phone would collapse it further, and radio would collapse it for everyone all at once...</p><p>Every technological acceleration is framed as a gift of time to all mankind, but every acceleration arrives, in practice, with increased expectations, with increased demand, with more and more pressure. The letter you could answer on your time, because the telegram you had to answer today. The phone call you could ignore in 1950 (because you simply weren’t home to take the call) became a call you had to return in 1985 because the answering machine upped the ante. Then the answering machine was replaced by your mobile phone and (insert montage of technological advances here) by 2026, a 2 hour delay replying to a Slack message became a social failure...</p><p>Hartmut Rosa, the German sociologist, wrote a book in 2005 called Beschleunigung - translated as Social Acceleration. It traces this pattern across 3 layers: tech acceleration speeds up the machines, acceleration of social change speeds up the rate at which institutions and relationships change, and and the acceleration of the pace of life speeds up how much we can (or are forced to) cram into a single day. Rosa’s argument is that these layers feed off each other; faster machines let us change faster, which means we need faster machines to keep up, and the loop tightens, and so...</p><p>Well, here we are.</p><p>The original promise of acceleration was always more free time. Washing machines would give us more leisure, email would cut our labour, automation would give us a 4 day work week, and so on. None of this really happened; a rising floor of expected output swallowed the gains, and so we signed up for more, and we ended up running faster to stay in the same damn place.</p><p>And somewhere in the early 2000’s, this crossed a cursed threshold. Before that point, tech was mostly compressing the time between events - the telegram, and the fax, and the email and the IM each shortened the gap between when you sent something and when it arrived; the gap was the thing getting smaller and smaller.</p><p>After the smartphone, the gap just...vanished. The feed became real-time, and the notifications constant. Information stopped arriving as discrete, gapped packets and started arriving as a continuous drip, and then a steady flow, and then a firehose, timed by the network’s ambient activity and no longer by anything you happened to be doing. And suddenly, you weren’t receiving mail anymore. You were drowning in a raging river of information.</p><p>Paul Virilio, the philosopher, called the condition of real-time media an accident of time itself; he argued that when everything happens at once, nothing actually happens at all, because events lose their distinguishing temporal edges, and the past // present // future collapse into a single undifferentiated smear. A 2021 RescueTime study found that the average knowledge worker checked communication tools roughly every six minutes; other studies put the average smartphone user at around 2,000-3,000 touches per day. We interrupt ourselves, or we get interrupted, enough that sustained attention has become a minority activity. It no longer happens naturally; if it happens at all, it must be scheduled.</p><p>Each notification is a tax on the present moment - pulling you into either a micro-past (what did I just see?) or a micro-future (what should I do about this?) while the here and now is skipped over like the intro to a Netflix show. And ironically - we consented to this. We signed up for it without thinking twice. The telegram was imposed on us by commerce, the factory clock by management, but we installed and embraced the push notifications ourselves, app by app, in exchange for convenience - in exchange for acceleration - in exchange for collapse.</p><p>If the Now has any place at all, it’s as “content.” We watch an event happen, and we’re already narrating it for a future audience, for a draft post, for a video - as if the event itself isn’t quite real, until it has been recorded in some way. Call it what you want; but it describers a condition in which our tools have trained us to convert the present into its sole acceptable format. It becomes raw material for a feed. You’re standing inside it and outside of it, holding a lens and prepping a caption.</p><p>The French sociologist Henri Lefebvre wrote in 1947 about the colonisation of every day life. He saw the structure of a world that would eventually (perhaps, inevitably) produce Instagram. Commerce, and then bureaucracy each laid claim to a bigger piece of the ordinary every day, until the ordinary itself became a product. A few decades later, we started calling that product “content.” Not a bad word for it, actually, considering that Content only has to be Contained - it doesn’t have to offer anything of value on its own.</p><p>We know this is happening - all of us. We talk about it constantly - I just did, and you just read it, and we both probably felt briefly quite pleased with ourselves for noticing and that’s part of the problem too...every other bestseller is about mindfulness and slow living, digital detoxes and offline retreats, sabbath practices and meditation apps that send you push notifications reminding your to experience the moment.</p><p>Silence is a malfunction. Grief is harder now, because to grieve means to sit inside a moment, and we’ve lost the practice of it. Joy is thinner, because joy needs a present it can occupy, and the present has been divided into micro-slices already claimed by the next scroll, the next ping, and the next thing we should be looking at instead...</p><p>The generational data is looking bleak.</p><p>In his 2024 book The Anxious Generation, Jonathan Haidt argued that the cohort born after 1995 - the first to get smartphones before they were fully developed - show a sharp increase in anxiety, depression and self-harm; and the increase tracks against the rollout of social media. Haidt’s causal story might be contested, but the numbers aren’t. We’re all a little broken. We’re all breaking a little more.</p><p>My own take is that it’s not only about screen time, it’s about a generation who never had the chance to experience a present moment, without a second channel running underneath it all. The backchannel of the phone, the draft message, the group chat, the algorithm etc is all humming under whatever is supposedly happening in the room, until the hum gets so loud it takes over everything else. A childhood of partial presence creates an adulthood where you can’t watch Sabrina Carpenter and Madonna share the stage without the intermediate of an iPhone camera and screen...</p><p>The older generations lost the present slowly, and can still remember what it was like to have one. The younger are trying to reconstruct it from second principles, if at all.</p><p>I have no program to offer here. The essays that end with a neat 5-step plan to reclaim attention are almost without exception published by those who sell courses, and may my bank account forgive me, I still don’t have such a product. I do think the present can return in small pockets, and under specific conditions - when you make something with your hands, and the thing resits, when you’re looking after your friend’s dog, who is the best dog in the world, who has no opinion about the future, in the middle of a long walk and after the internal monologue has run out of fresh grievances...</p><p>It returns when the compressors and the accelerators are out of reach for long enough that your nervous system remembers it has other settings.</p><p>The railway clock runs across server farms in places you have probably never been and will probably never go. The minute is measured by atomic oscillation and shopped out, in real time, to the watch on your wrist, the phone in your pocket, the Tesla in your driveway, the smart fridge that can tweet better than it can moderate its internal temperature etc., synced to the same atomic pulse.</p><p>It’s the same common minute. But it’s only ever the minute gone by or the minute yet to come. The minute we used to have and hold is gone.</p>
<div class="kg-card kg-cta-card kg-cta-bg-grey kg-cta-minimal " data-layout="minimal">
<div class="kg-cta-sponsor-label-wrapper">
<div class="kg-cta-sponsor-label">
<span style="white-space: pre-wrap;">SPONSORED</span>
</div>
</div>
<div class="kg-cta-content">
<div class="kg-cta-content-inner">
<div class="kg-cta-text">
<p><span style="white-space: pre-wrap;">Westenberg is designed, built and funded by my solo-powered agency, Studio Self. Reach out and work with me:</span></p>
</div>
<a href="https://www.thisisstudioself.com/?ref=joanwestenberg.com" class="kg-cta-button " style="background-color: #000000; color: #ffffff;">
Work with me
</a>
</div>
</div>
</div>