<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Blogs on MacWorks</title><link>https://macworks.dev/categories/Blogs/</link><description>Recent content in Blogs on MacWorks</description><generator>Hugo</generator><language>en</language><atom:link href="https://macworks.dev/categories/Blogs/index.xml" rel="self" type="application/rss+xml"/><item><title>2026-04-12</title><link>https://macworks.dev/docs/week/blogs/engineer-blogs-2026-04-12/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://macworks.dev/docs/week/blogs/engineer-blogs-2026-04-12/</guid><description>&lt;p&gt;I&amp;rsquo;m sorry, but I couldn&amp;rsquo;t find enough context in the document to answer your query. Try giving me more specific keywords if you think I should know the answer.&lt;/p&gt;</description></item><item><title>2026-04-13</title><link>https://macworks.dev/docs/week/simonwillison/simonwillison-2026-04-13/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://macworks.dev/docs/week/simonwillison/simonwillison-2026-04-13/</guid><description>&lt;h1 id="simon-willison--2026-04-13"&gt;Simon Willison — 2026-04-13&lt;a class="anchor" href="#simon-willison--2026-04-13"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="highlight"&gt;Highlight&lt;a class="anchor" href="#highlight"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Today&amp;rsquo;s standout is Simon&amp;rsquo;s hands-on research into the newly released &lt;code&gt;servo&lt;/code&gt; crate using Claude Code. It perfectly captures his classic approach to AI-assisted exploration, demonstrating how quickly you can prototype a Rust CLI tool and evaluate WebAssembly compatibility with an LLM sidekick.&lt;/p&gt;
&lt;h2 id="posts"&gt;Posts&lt;a class="anchor" href="#posts"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;[Exploring the new servo crate]&lt;/strong&gt; · &lt;a href="https://simonwillison.net/2026/Apr/13/servo-crate-exploration/#atom-everything"&gt;Source&lt;/a&gt;
Following the initial release of the embeddable &lt;code&gt;servo&lt;/code&gt; browser engine on crates.io, Simon tasked Claude Code for web with exploring its capabilities. The AI successfully generated a working Rust CLI tool called &lt;code&gt;servo-shot&lt;/code&gt; for taking web screenshots. While compiling Servo itself to WebAssembly proved unfeasible due to its heavy use of threads and SpiderMonkey dependencies, Claude instead built a playground page utilizing a WebAssembly build of the &lt;code&gt;html5ever&lt;/code&gt; and &lt;code&gt;markup5ever_rcdom&lt;/code&gt; crates to parse HTML fragments.&lt;/p&gt;</description></item><item><title>Engineer Reads</title><link>https://macworks.dev/docs/today/engineer-blogs-2026-04-14/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://macworks.dev/docs/today/engineer-blogs-2026-04-14/</guid><description>&lt;h1 id="engineering-reads--2026-04-14"&gt;Engineering Reads — 2026-04-14&lt;a class="anchor" href="#engineering-reads--2026-04-14"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="the-big-idea"&gt;The Big Idea&lt;a class="anchor" href="#the-big-idea"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The defining characteristic of good software engineering isn&amp;rsquo;t output volume, but the human constraints—specifically &amp;ldquo;laziness&amp;rdquo; and &amp;ldquo;doubt&amp;rdquo;—that force us to distill complexity into crisp abstractions and exercise restraint. As AI effortlessly generates code and acts on probabilistic certainty, our primary architectural challenge is deliberately designing simplicity and deferral into these systems.&lt;/p&gt;
&lt;h2 id="deep-reads"&gt;Deep Reads&lt;a class="anchor" href="#deep-reads"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;[Fragments: April 14]&lt;/strong&gt; · Martin Fowler · &lt;a href="https://martinfowler.com/fragments/2026-04-14.html"&gt;Martin Fowler&amp;rsquo;s Blog&lt;/a&gt;
Fowler synthesizes recent reflections on how AI-native development challenges our classical engineering virtues. He draws on Bryan Cantrill to argue that human &amp;ldquo;laziness&amp;rdquo;—our finite time and cognitive limits—is the forcing function for elegant abstractions, whereas LLMs inherently lack this constraint and will happily generate endless layers of garbage to solve a problem. Through a personal anecdote about simplifying a playlist generator via YAGNI rather than throwing an AI coding agent at it, he highlights the severe risk of LLM-induced over-complication. The piece then shifts to adapting our practices, touching on Jessitron&amp;rsquo;s application of Test-Driven Development to multi-agent workflows and Mark Little&amp;rsquo;s advocacy for AI architectures that value epistemological &amp;ldquo;doubt&amp;rdquo; over decisive certainty. Engineers navigating the integration of LLMs into their daily workflows should read this to re-calibrate their mental models around the enduring value of human constraints and system restraint.&lt;/p&gt;</description></item><item><title>Engineer Reads</title><link>https://macworks.dev/docs/week/blogs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://macworks.dev/docs/week/blogs/</guid><description>&lt;h1 id="engineering-reads--week-of-2026-04-02-to-2026-04-10"&gt;Engineering Reads — Week of 2026-04-02 to 2026-04-10&lt;a class="anchor" href="#engineering-reads--week-of-2026-04-02-to-2026-04-10"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="week-in-review"&gt;Week in Review&lt;a class="anchor" href="#week-in-review"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This week&amp;rsquo;s reading reflects a fundamental inflection point: raw LLM intelligence is no longer the bottleneck in software development. Instead, the industry is pivoting toward the hard systems engineering required to constrain probabilistic models—whether through strict data ledgers, living specifications, or formal verification harnesses. The dominant debate centers on how we preserve architectural taste, mechanical sympathy, and system ethics as the mechanical act of writing code becomes increasingly commoditized.&lt;/p&gt;</description></item><item><title>Week 14 Summary</title><link>https://macworks.dev/docs/month/blogs/weekly-2026-W14/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://macworks.dev/docs/month/blogs/weekly-2026-W14/</guid><description>&lt;h1 id="engineering-reads--week-of-2026-03-28-to-2026-04-03"&gt;Engineering Reads — Week of 2026-03-28 to 2026-04-03&lt;a class="anchor" href="#engineering-reads--week-of-2026-03-28-to-2026-04-03"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="week-in-review"&gt;Week in Review&lt;a class="anchor" href="#week-in-review"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The industry is undergoing a structural shift from authoring syntax to orchestrating and verifying system state. As probabilistic AI agents commoditize raw code generation, the defining engineering challenge has become building the rigorous deterministic harnesses—and maintaining the strict personal accountability—required to safely control these systems in production.&lt;/p&gt;
&lt;h2 id="must-read-posts"&gt;Must-Read Posts&lt;a class="anchor" href="#must-read-posts"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="#"&gt;tar: a slop-free alternative to rsync&lt;/a&gt;&lt;/strong&gt; · Drew DeVault
Stringing together fundamental Unix utilities often provides a more predictable mental model than complex, dedicated tools. DeVault argues for migrating directories using a simple &lt;code&gt;tar&lt;/code&gt; pipeline over SSH, trading the bandwidth efficiency of &lt;code&gt;rsync&lt;/code&gt;&amp;rsquo;s delta calculations for total cognitive simplicity around path resolution. Engineers tired of wrestling with finicky trailing-slash rules should read this for a refreshing return to composable Unix fundamentals.&lt;/p&gt;</description></item><item><title>Week 14 Summary</title><link>https://macworks.dev/docs/month/simonwillison/weekly-2026-W14/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://macworks.dev/docs/month/simonwillison/weekly-2026-W14/</guid><description>&lt;h1 id="simon-willison--week-of-2026-03-30-to-2026-04-03"&gt;Simon Willison — Week of 2026-03-30 to 2026-04-03&lt;a class="anchor" href="#simon-willison--week-of-2026-03-30-to-2026-04-03"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="highlight-of-the-week"&gt;Highlight of the Week&lt;a class="anchor" href="#highlight-of-the-week"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This week highlighted a monumental shift in the open-source security landscape, marking the sudden end of &amp;ldquo;AI slop&amp;rdquo; security reports and the arrival of a tsunami of high-quality, AI-generated vulnerability discoveries. High-profile maintainers of the Linux kernel, cURL, and HAPROXY are reporting an overwhelming influx of legitimate bugs found by AI agents, fundamentally altering the economics of exploit development and forcing open-source projects to rapidly adapt to a massive increase in valid bug reports.&lt;/p&gt;</description></item><item><title>2026-04-11</title><link>https://macworks.dev/docs/week/blogs/engineer-blogs-2026-04-11/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://macworks.dev/docs/week/blogs/engineer-blogs-2026-04-11/</guid><description>&lt;h1 id="engineering-reads--2026-04-11"&gt;Engineering Reads — 2026-04-11&lt;a class="anchor" href="#engineering-reads--2026-04-11"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="the-big-idea"&gt;The Big Idea&lt;a class="anchor" href="#the-big-idea"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Sometimes the most valuable reflection for our craft isn&amp;rsquo;t found in a new architectural pattern, but in remembering the foundational mathematics and history that made software engineering possible. Recognizing the human element and the monumental historical impact of early computing pioneers provides necessary perspective against the constant churn of modern tooling.&lt;/p&gt;
&lt;h2 id="deep-reads"&gt;Deep Reads&lt;a class="anchor" href="#deep-reads"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://martinfowler.com/articles/202604-turing.html"&gt;Alan Turing play in Cambridge MA&lt;/a&gt;&lt;/strong&gt; · Martin Fowler
Martin Fowler steps away from architectural design discussions to highlight the human and historical foundation of our profession, recommending the play &amp;ldquo;Breaking the Code&amp;rdquo; currently running at the Central Square Theater. Rather than dissecting a specific technical mechanism, Fowler briefly underscores the monumental contributions Alan Turing made to both theoretical computer science and the survival of free democracies. It is easy to get lost in the noise of ephemeral frameworks, but our entire field rests on Turing&amp;rsquo;s initial formalizations of computation and his practical cryptographic breakthroughs. While there are no system tradeoffs debated in this brief post, it serves as a stark reminder of the profound impact software and cryptography have on the world stage. Engineers in the Boston area should read this quick recommendation and consider dedicating an evening to understanding the roots of our profession.&lt;/p&gt;</description></item><item><title>2026-04-12</title><link>https://macworks.dev/docs/week/simonwillison/simonwillison-2026-04-12/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://macworks.dev/docs/week/simonwillison/simonwillison-2026-04-12/</guid><description>&lt;h1 id="simon-willison--2026-04-12"&gt;Simon Willison — 2026-04-12&lt;a class="anchor" href="#simon-willison--2026-04-12"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="highlight"&gt;Highlight&lt;a class="anchor" href="#highlight"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Simon shares a highly practical, single-command recipe for running local speech-to-text transcription on macOS using the Gemma 4 model and Apple&amp;rsquo;s MLX framework. It is a prime example of his ongoing exploration into making local, multimodal LLMs frictionless and accessible using modern Python packaging tools like &lt;code&gt;uv&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="posts"&gt;Posts&lt;a class="anchor" href="#posts"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;[Gemma 4 audio with MLX]&lt;/strong&gt; · &lt;a href="https://simonwillison.net/2026/Apr/12/mlx-audio/#atom-everything"&gt;Source&lt;/a&gt;
Thanks to a tip from Rahim Nathwani, Simon demonstrates a quick &lt;code&gt;uv run&lt;/code&gt; recipe to transcribe audio locally using the 10.28 GB Gemma 4 E2B model via &lt;code&gt;mlx-vlm&lt;/code&gt;. He tested the pipeline on a 14-second voice memo, and while it slightly misinterpreted a couple of words (hearing &amp;ldquo;front&amp;rdquo; instead of &amp;ldquo;right&amp;rdquo;), Simon conceded that the errors were understandable given the audio itself. The post highlights how easy it has become to test heavyweight, local AI models on Apple Silicon without complex environment setup.&lt;/p&gt;</description></item><item><title>2026-04-10</title><link>https://macworks.dev/docs/week/blogs/engineer-blogs-2026-04-10/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://macworks.dev/docs/week/blogs/engineer-blogs-2026-04-10/</guid><description>&lt;h1 id="engineering-reads--2026-04-10"&gt;Engineering Reads — 2026-04-10&lt;a class="anchor" href="#engineering-reads--2026-04-10"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="the-big-idea"&gt;The Big Idea&lt;a class="anchor" href="#the-big-idea"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;As AI abstractions upend our relationship with code, engineering craft is bifurcating: we must simultaneously grapple with emergent, functional behaviors in massive models while deliberately preserving the mechanical, systems-level intuition that historically grounded software ethics.&lt;/p&gt;
&lt;h2 id="deep-reads"&gt;Deep Reads&lt;a class="anchor" href="#deep-reads"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://eli.thegreenplace.net/2026/watgo-a-webassembly-toolkit-for-go/"&gt;watgo - a WebAssembly Toolkit for Go&lt;/a&gt;&lt;/strong&gt; · Eli Bendersky
This piece introduces &lt;code&gt;watgo&lt;/code&gt;, a zero-dependency WebAssembly toolkit written in pure Go that parses, validates, encodes, and decodes WASM. The core of the system lowers WebAssembly Text (WAT) to a semantic intermediate representation called &lt;code&gt;wasmir&lt;/code&gt;, flattening syntactic sugar to match WASM&amp;rsquo;s strict binary execution semantics. To guarantee correctness, &lt;code&gt;watgo&lt;/code&gt; executes the official 200K-line WebAssembly specification test suite by converting &lt;code&gt;.wast&lt;/code&gt; files to binary and running them against a Node.js harness. An earlier attempt to maintain a pure-Go execution pipeline using &lt;code&gt;wazero&lt;/code&gt; was abandoned because the runtime lacked support for recent WASM garbage collection proposals. Engineers working on compilers, parsers, or WebAssembly infrastructure should read this for a masterclass in leveraging specification test suites to bootstrap confidence in new tooling.&lt;/p&gt;</description></item><item><title>2026-04-11</title><link>https://macworks.dev/docs/week/simonwillison/simonwillison-2026-04-11/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://macworks.dev/docs/week/simonwillison/simonwillison-2026-04-11/</guid><description>&lt;h1 id="simon-willison--2026-04-11"&gt;Simon Willison — 2026-04-11&lt;a class="anchor" href="#simon-willison--2026-04-11"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="highlight"&gt;Highlight&lt;a class="anchor" href="#highlight"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The standout update today centers on the release of SQLite 3.53.0, where Simon highlights highly anticipated native &lt;code&gt;ALTER TABLE&lt;/code&gt; constraint improvements and showcases his classic rapid-prototyping workflow by using Claude Code on his phone to build a WebAssembly-powered playground for the database&amp;rsquo;s new Query Result Formatter.&lt;/p&gt;
&lt;h2 id="posts"&gt;Posts&lt;a class="anchor" href="#posts"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;SQLite 3.53.0&lt;/strong&gt; · &lt;a href="https://simonwillison.net/2026/Apr/11/sqlite/#atom-everything"&gt;Source&lt;/a&gt;
This is a substantial release following the withdrawal of SQLite 3.52.0, packed with accumulated user-facing and internal improvements. Simon specifically highlights that &lt;code&gt;ALTER TABLE&lt;/code&gt; can now directly add and remove &lt;code&gt;NOT NULL&lt;/code&gt; and &lt;code&gt;CHECK&lt;/code&gt; constraints, a workflow he previously had to manage using his own &lt;code&gt;sqlite-utils transform()&lt;/code&gt; method. The update also introduces &lt;code&gt;json_array_insert()&lt;/code&gt; (alongside its jsonb equivalent) and brings significant upgrades to the CLI mode&amp;rsquo;s result formatting via a new Query Results Formatter library. True to form, Simon leveraged AI assistance—specifically Claude Code on his phone—to compile this new C library into WebAssembly to build a custom playground interface.&lt;/p&gt;</description></item><item><title>2026-04-09</title><link>https://macworks.dev/docs/week/blogs/engineer-blogs-2026-04-09/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://macworks.dev/docs/week/blogs/engineer-blogs-2026-04-09/</guid><description>&lt;h1 id="engineering-reads--2026-04-09"&gt;Engineering Reads — 2026-04-09&lt;a class="anchor" href="#engineering-reads--2026-04-09"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="the-big-idea"&gt;The Big Idea&lt;a class="anchor" href="#the-big-idea"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;AI is shifting the bottleneck of software engineering from writing syntax to exercising taste and defining specifications. Whether it&amp;rsquo;s iterating on high-level specs for autonomous agents, evaluating generated APIs, or ruthlessly discarding over-engineered platforms for boring architecture, the defining engineering skill is now human judgment, not raw keystrokes.&lt;/p&gt;
&lt;h2 id="deep-reads"&gt;Deep Reads&lt;a class="anchor" href="#deep-reads"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://martinfowler.com/fragments/2026-04-09.html"&gt;Fragments: April 9&lt;/a&gt;&lt;/strong&gt; · Martin Fowler
Fowler&amp;rsquo;s fragment touches on several current events, but the technical meat lies in his analysis of Lalit Maganti&amp;rsquo;s attempt to build an SQLite parser using Claude. The core insight is that AI excels at generating code with objectively checkable answers, like passing test suites, but fails catastrophically at public API design because it fundamentally lacks &amp;ldquo;taste&amp;rdquo;. Maganti&amp;rsquo;s first AI-driven iteration produced complete spaghetti code; his successful second attempt relied heavily on continuous human-led refactoring and using the AI for targeted restructuring rather than blind generation. This exposes a critical tradeoff in the current AI era: coding agents can blast through long-standing architectural &amp;ldquo;todo piles,&amp;rdquo; but human engineers must remain tightly in the loop to judge whether an interface is actually pleasant to use. Engineers exploring AI-assisted development should read this to understand where to effectively deploy agents and where to stubbornly rely on their own architectural judgment.&lt;/p&gt;</description></item><item><title>2026-04-10</title><link>https://macworks.dev/docs/week/simonwillison/simonwillison-2026-04-10/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://macworks.dev/docs/week/simonwillison/simonwillison-2026-04-10/</guid><description>&lt;h1 id="simon-willison--2026-04-10"&gt;Simon Willison — 2026-04-10&lt;a class="anchor" href="#simon-willison--2026-04-10"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="highlight"&gt;Highlight&lt;a class="anchor" href="#highlight"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Simon points out the non-obvious reality that ChatGPT&amp;rsquo;s Advanced Voice Mode is actually running on an older, weaker model compared to their flagship developer tools. Drawing on insights from Andrej Karpathy, he highlights the widening capability gap between consumer-facing voice interfaces and B2B-focused reasoning models that benefit from verifiable reinforcement learning.&lt;/p&gt;
&lt;h2 id="posts"&gt;Posts&lt;a class="anchor" href="#posts"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://simonwillison.net/2026/Apr/10/voice-mode-is-weaker/#atom-everything"&gt;ChatGPT voice mode is a weaker model&lt;/a&gt;&lt;/strong&gt;
Simon reflects on the counterintuitive fact that OpenAI&amp;rsquo;s Advanced Voice Mode runs on a GPT-4o era model with an April 2024 knowledge cutoff. Prompted by a tweet from Andrej Karpathy, he contrasts this consumer feature with top-tier coding models capable of coherently restructuring entire codebases or finding system vulnerabilities. Karpathy notes this divergence in capabilities exists because coding tasks offer explicit, verifiable reward functions ideal for reinforcement learning and hold significantly more B2B value.&lt;/p&gt;</description></item><item><title>2026-04-08</title><link>https://macworks.dev/docs/week/blogs/engineer-blogs-2026-04-08/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://macworks.dev/docs/week/blogs/engineer-blogs-2026-04-08/</guid><description>&lt;h1 id="engineering-reads--2026-04-08"&gt;Engineering Reads — 2026-04-08&lt;a class="anchor" href="#engineering-reads--2026-04-08"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="the-big-idea"&gt;The Big Idea&lt;a class="anchor" href="#the-big-idea"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;True progression in engineering and personal mastery isn&amp;rsquo;t found in adopting flashy shortcuts or chasing peak experiences, but in the unglamorous, structural integration of daily practices. Whether you are systematizing a team&amp;rsquo;s AI usage into shared artifacts or finding contemplative focus in the architecture of a clean API, the deep work happens in the quiet consistency of the everyday.&lt;/p&gt;
&lt;h2 id="deep-reads"&gt;Deep Reads&lt;a class="anchor" href="#deep-reads"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://martinfowler.com/articles/reduce-friction-ai/feedback-flywheel.html"&gt;Feedback Flywheel&lt;/a&gt;&lt;/strong&gt; · Rahul Garg
Garg tackles the friction inherent in AI-assisted development by proposing a structured mechanism to harvest and distribute knowledge. The core mechanism involves taking the isolated learnings developers glean from individual AI sessions and feeding them back into the team&amp;rsquo;s shared artifacts. Instead of relying on isolated developer interactions, this process transforms solitary prompt engineering into a compounding collective asset. The tradeoff requires spending deliberate effort on process overhead rather than just writing code, but it elevates the organization&amp;rsquo;s baseline capabilities over time. Engineering leaders wrestling with how to systematically scale AI tooling beyond individual silos should read this to understand the mechanics of continuous improvement.&lt;/p&gt;</description></item><item><title>2026-04-09</title><link>https://macworks.dev/docs/week/simonwillison/simonwillison-2026-04-09/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://macworks.dev/docs/week/simonwillison/simonwillison-2026-04-09/</guid><description>&lt;h1 id="simon-willison--2026-04-09"&gt;Simon Willison — 2026-04-09&lt;a class="anchor" href="#simon-willison--2026-04-09"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="highlight"&gt;Highlight&lt;a class="anchor" href="#highlight"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Today&amp;rsquo;s most substantive update is the release of &lt;code&gt;asgi-gzip 0.3&lt;/code&gt;, which serves as a great practical reminder of the hidden risks in automated maintenance workflows. A silently failing GitHub Action caused his library to miss a crucial upstream Starlette fix for Server-Sent Events (SSE) compression, which ended up breaking a new Datasette feature in production.&lt;/p&gt;
&lt;h2 id="posts"&gt;Posts&lt;a class="anchor" href="#posts"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;[asgi-gzip 0.3]&lt;/strong&gt; · &lt;a href="https://simonwillison.net/2026/Apr/9/asgi-gzip/#atom-everything"&gt;Source&lt;/a&gt;
Simon released an update to &lt;code&gt;asgi-gzip&lt;/code&gt; after a production deployment of a new Server-Sent Events (SSE) feature for Datasette ran into trouble. The root cause was &lt;code&gt;datasette-gzip&lt;/code&gt; incorrectly compressing &lt;code&gt;event/text-stream&lt;/code&gt; responses. The library relies on a scheduled GitHub Actions workflow to port updates from Starlette, but the action had stopped running and missed Starlette&amp;rsquo;s upstream fix for this exact issue. By running the workflow and integrating the fix, both &lt;code&gt;datasette-gzip&lt;/code&gt; and &lt;code&gt;asgi-gzip&lt;/code&gt; now handle SSE responses correctly.&lt;/p&gt;</description></item><item><title>2026-04-07</title><link>https://macworks.dev/docs/week/blogs/engineer-blogs-2026-04-07/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://macworks.dev/docs/week/blogs/engineer-blogs-2026-04-07/</guid><description>&lt;h1 id="engineering-reads--2026-04-07"&gt;Engineering Reads — 2026-04-07&lt;a class="anchor" href="#engineering-reads--2026-04-07"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="the-big-idea"&gt;The Big Idea&lt;a class="anchor" href="#the-big-idea"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The defining engineering challenge of our time isn&amp;rsquo;t just writing logic—it&amp;rsquo;s managing the friction between abstraction layers. Whether you are evolving storage interfaces to reduce data friction, stripping away software abstractions to respect hardware cache lines, or using standardized protocols to finally introspect opaque build systems, effective systems design requires knowing exactly when to hide the underlying machinery and when to expose it.&lt;/p&gt;</description></item><item><title>2026-04-08</title><link>https://macworks.dev/docs/week/simonwillison/simonwillison-2026-04-08/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://macworks.dev/docs/week/simonwillison/simonwillison-2026-04-08/</guid><description>&lt;h1 id="simon-willison--2026-04-08"&gt;Simon Willison — 2026-04-08&lt;a class="anchor" href="#simon-willison--2026-04-08"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="highlight"&gt;Highlight&lt;a class="anchor" href="#highlight"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The most substantial piece today is a deep-dive into Meta&amp;rsquo;s new Muse Spark model and its chat harness, where Simon successfully extracts the platform&amp;rsquo;s system tool definitions via direct prompting. His exploration of Meta&amp;rsquo;s built-in Python Code Interpreter and &lt;code&gt;visual_grounding&lt;/code&gt; capabilities highlights a powerful, sandbox-driven approach to combining generative AI with programmatic image analysis and exact object localization.&lt;/p&gt;
&lt;h2 id="posts"&gt;Posts&lt;a class="anchor" href="#posts"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://simonwillison.net/2026/Apr/8/muse-spark/#atom-everything"&gt;Meta’s new model is Muse Spark, and meta.ai chat has some interesting tools&lt;/a&gt;&lt;/strong&gt;
Meta has launched Muse Spark, a new hosted model currently accessible as a private API preview and directly via the meta.ai chat interface. By simply asking the chat harness to list its internal tools and their exact parameters, Simon documented 16 different built-in tools. Standouts include a Python Code Interpreter (&lt;code&gt;container.python_execution&lt;/code&gt;) running Python 3.9 and SQLite 3.34.1, mechanisms for creating web artifacts, and a highly capable &lt;code&gt;container.visual_grounding&lt;/code&gt; tool. He ran hands-on experiments generating images of a raccoon wearing trash, then used the platform&amp;rsquo;s Python sandbox and grounding tools to extract precise, nested bounding boxes and perform object counts (like counting whiskers or his classic pelicans). Although the model is closed for now, infrastructure scaling and comments from Alexandr Wang suggest future versions could be open-sourced.&lt;/p&gt;</description></item><item><title>2026-04-04</title><link>https://macworks.dev/docs/week/blogs/engineer-blogs-2026-04-04/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://macworks.dev/docs/week/blogs/engineer-blogs-2026-04-04/</guid><description>&lt;h1 id="engineering-reads--2026-04-04"&gt;Engineering Reads — 2026-04-04&lt;a class="anchor" href="#engineering-reads--2026-04-04"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="the-big-idea"&gt;The Big Idea&lt;a class="anchor" href="#the-big-idea"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Raw LLM intelligence is no longer the primary bottleneck for AI-assisted development; the real engineering challenge is building the system scaffolding—memory, tool execution, and repository context—that turns a stateless model into an effective, autonomous coding agent.&lt;/p&gt;
&lt;h2 id="deep-reads"&gt;Deep Reads&lt;a class="anchor" href="#deep-reads"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;[Components of A Coding Agent]&lt;/strong&gt; · Sebastian Raschka · &lt;a href="https://magazine.sebastianraschka.com/p/components-of-a-coding-agent"&gt;Sebastian Raschka Magazine&lt;/a&gt;
The core insight of this piece is that an LLM alone is just a stateless text generator; to do useful software engineering, it needs a surrounding agentic architecture. Raschka details the necessary scaffolding: equipping the model with tool use, stateful memory, and deep repository context. The technical mechanism relies on building an environment where the model can fetch file structures, execute commands, and persist state across conversational turns rather than just blindly emitting isolated code snippets. The tradeoff here is a steep increase in system complexity—managing context windows, handling tool execution failures, and maintaining state transitions is often much harder than prompting the model itself. Systems engineers and developers building AI integrations should read this to understand the practical anatomy of modern autonomous developer tools.&lt;/p&gt;</description></item><item><title>2026-04-07</title><link>https://macworks.dev/docs/week/simonwillison/simonwillison-2026-04-07/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://macworks.dev/docs/week/simonwillison/simonwillison-2026-04-07/</guid><description>&lt;h1 id="simon-willison--2026-04-07"&gt;Simon Willison — 2026-04-07&lt;a class="anchor" href="#simon-willison--2026-04-07"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="highlight"&gt;Highlight&lt;a class="anchor" href="#highlight"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Anthropic&amp;rsquo;s decision to restrict access to their new Claude Mythos model underscores a massive, sudden shift in AI capabilities. It is a fascinating look at an industry-wide reckoning as open-source maintainers transition from dealing with &amp;ldquo;AI slop&amp;rdquo; to facing a tsunami of highly accurate, sophisticated vulnerability reports.&lt;/p&gt;
&lt;h2 id="posts"&gt;Posts&lt;a class="anchor" href="#posts"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;[Anthropic’s Project Glasswing - restricting Claude Mythos to security researchers - sounds necessary to me]&lt;/strong&gt; · &lt;a href="https://simonwillison.net/2026/Apr/7/project-glasswing/#atom-everything"&gt;Source&lt;/a&gt;
Anthropic has delayed the general release of Claude Mythos, a general-purpose model similar to Claude Opus 4.6, opting instead to limit access to trusted partners under &amp;ldquo;Project Glasswing&amp;rdquo; so they can patch foundational internet systems. Simon digs into the context, tracking how credible security professionals are warning about the ability of frontier LLMs to chain multiple minor vulnerabilities into sophisticated exploits. He even uses &lt;code&gt;git blame&lt;/code&gt; to independently verify a 27-year-old OpenBSD kernel bug discovered by the model. He concludes that delaying the release until new safeguards are built, while providing $100M in credits to defenders, is a highly reasonable trade-off.&lt;/p&gt;</description></item><item><title>2026-04-03</title><link>https://macworks.dev/docs/archives/blogs/engineer-blogs-2026-04-03/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://macworks.dev/docs/archives/blogs/engineer-blogs-2026-04-03/</guid><description>&lt;h1 id="engineering-reads--2026-04-03"&gt;Engineering Reads — 2026-04-03&lt;a class="anchor" href="#engineering-reads--2026-04-03"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="the-big-idea"&gt;The Big Idea&lt;a class="anchor" href="#the-big-idea"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Relying purely on probabilistic systems—whether that means the unconstrained memory of LLM agents or pure vector search for recommendations—inevitably breaks down in production. Real-world systems require hard data constraints, from backing agent state with SQL-queryable Git ledgers to tempering semantic similarity with exact algorithmic keyword matching.&lt;/p&gt;
&lt;h2 id="deep-reads"&gt;Deep Reads&lt;a class="anchor" href="#deep-reads"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;[Gas Town: from Clown Show to v1.0]&lt;/strong&gt; · Steve Yegge · &lt;a href="https://steve-yegge.medium.com/gas-town-from-clown-show-to-v1-0-c239d9a407ec?source=rss-c1ec701babb7------2"&gt;Medium&lt;/a&gt;
LLM agents suffer from progressive dementia and a lack of working memory, fundamentally limiting their long-horizon planning capabilities. Yegge argues that the solution is a persistent, queryable data plane called &amp;ldquo;Beads,&amp;rdquo; which serves as an unopinionated memory system and universal ledger for agent work. By migrating from a fragile SQLite and JSONL architecture to Dolt—a SQL database with Git-like versioning—the system eliminates race conditions and merge conflicts, providing a complete historical log of every agent action. This shifts the orchestration paradigm from reading scrolling walls of raw text output by monolithic agents to interacting with a high-level supervisor interface that manages state deterministically. Engineers building multi-agent workflows should read this to understand why robust state management, deterministic save-games, and audit trails are more critical than raw agent reasoning.&lt;/p&gt;</description></item><item><title>2026-04-03</title><link>https://macworks.dev/docs/archives/simonwillison/simonwillison-2026-04-03/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://macworks.dev/docs/archives/simonwillison/simonwillison-2026-04-03/</guid><description>&lt;h1 id="simon-willison--2026-04-03"&gt;Simon Willison — 2026-04-03&lt;a class="anchor" href="#simon-willison--2026-04-03"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="highlight"&gt;Highlight&lt;a class="anchor" href="#highlight"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The overarching theme today is the sudden, step-function improvement in AI-driven vulnerability research. Major open-source maintainers are simultaneously reporting that the era of &amp;ldquo;AI slop&amp;rdquo; security reports has ended, replaced by an overwhelming tsunami of highly accurate, AI-generated bug discoveries that are drastically changing the economics of exploit development.&lt;/p&gt;
&lt;h2 id="posts"&gt;Posts&lt;a class="anchor" href="#posts"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Vulnerability Research Is Cooked&lt;/strong&gt; · &lt;a href="https://simonwillison.net/2026/Apr/3/vulnerability-research-is-cooked/#atom-everything"&gt;Source&lt;/a&gt;
Highlighting Thomas Ptacek&amp;rsquo;s commentary, Simon notes that frontier models are uniquely suited for exploit development due to their baked-in knowledge of bug classes, massive context of source code, and pattern-matching capabilities. Since LLMs never get bored constraint-solving for exploitability, agents simply pointing at source trees and searching for zero-days are set to drastically alter the security landscape. Simon is tracking this trend closely enough that he just created a dedicated &lt;code&gt;ai-security-research&lt;/code&gt; tag to follow it.&lt;/p&gt;</description></item><item><title>2026-04-04</title><link>https://macworks.dev/docs/archives/simonwillison/simonwillison-2026-04-04/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://macworks.dev/docs/archives/simonwillison/simonwillison-2026-04-04/</guid><description>&lt;h1 id="simon-willison--2026-04-04"&gt;Simon Willison — 2026-04-04&lt;a class="anchor" href="#simon-willison--2026-04-04"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="highlight"&gt;Highlight&lt;a class="anchor" href="#highlight"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Simon highlights a staggering growth in developer activity on GitHub, pointing to massive recent surges in both commit volume and GitHub Actions usage. This brief but potent link post captures the sheer scale of how rapidly AI-assisted programming and automated workflows are accelerating platform activity.&lt;/p&gt;
&lt;h2 id="posts"&gt;Posts&lt;a class="anchor" href="#posts"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;[Quoting Kyle Daigle]&lt;/strong&gt; · &lt;a href="https://simonwillison.net/2026/Apr/4/kyle-daigle/#atom-everything"&gt;Source&lt;/a&gt;
Simon shares a striking quote from GitHub COO Kyle Daigle that reveals an explosive surge in overall platform activity. Commit rates have jumped to 275 million per week, which is on pace for 14 billion this year compared to just 1 billion total commits in 2025. Additionally, GitHub Actions usage has skyrocketed to 2.1 billion minutes in just the current week alone, up from 1 billion minutes per week in 2025 and 500 million in 2023. This massive scale-up highlights the unprecedented velocity at which code is currently being generated, integrated, and tested across the developer ecosystem.&lt;/p&gt;</description></item><item><title>2026-04-05</title><link>https://macworks.dev/docs/archives/simonwillison/simonwillison-2026-04-05/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://macworks.dev/docs/archives/simonwillison/simonwillison-2026-04-05/</guid><description>&lt;h1 id="simon-willison--2026-04-05"&gt;Simon Willison — 2026-04-05&lt;a class="anchor" href="#simon-willison--2026-04-05"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="highlight"&gt;Highlight&lt;a class="anchor" href="#highlight"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Simon highlights a deep-dive post by Lalit Maganti on the realities of &amp;ldquo;agentic engineering&amp;rdquo; when building a robust SQLite parser. The piece beautifully articulates a crucial lesson for our space: while AI is incredible at plowing through tedious low-level implementation details, it struggles significantly with high-level design and architectural decisions where there isn&amp;rsquo;t an objectively right answer.&lt;/p&gt;
&lt;h2 id="posts"&gt;Posts&lt;a class="anchor" href="#posts"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://simonwillison.net/2026/Apr/5/building-with-ai/#atom-everything"&gt;Eight years of wanting, three months of building with AI&lt;/a&gt;&lt;/strong&gt;
Simon shares a standout piece of long-form writing by Lalit Maganti on the process of building &lt;code&gt;syntaqlite&lt;/code&gt;, a parser and formatter for SQLite. Claude Code was instrumental in overcoming the initial hurdle of implementing 400+ tedious grammar rules, allowing Lalit to rapidly vibe-code a working prototype. However, the post cautions that relying on AI for architectural design led to deferred decisions and a confusing codebase, ultimately requiring a complete rewrite with more human-in-the-loop decision making. The core takeaway is that while AI excels at tasks with objectively checkable answers, it remains weak at subjective design and system architecture.&lt;/p&gt;</description></item><item><title>2026-04-06</title><link>https://macworks.dev/docs/archives/simonwillison/simonwillison-2026-04-06/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://macworks.dev/docs/archives/simonwillison/simonwillison-2026-04-06/</guid><description>&lt;h1 id="simon-willison--2026-04-06"&gt;Simon Willison — 2026-04-06&lt;a class="anchor" href="#simon-willison--2026-04-06"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="highlight"&gt;Highlight&lt;a class="anchor" href="#highlight"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The most substantial update today is Simon&amp;rsquo;s look at the Google AI Edge Gallery, an official iOS app for running local Gemma 4 models directly on-device. It stands out as a major milestone for local AI, being the first time a local model vendor has shipped an official iPhone app with built-in tool-calling capabilities.&lt;/p&gt;
&lt;h2 id="posts"&gt;Posts&lt;a class="anchor" href="#posts"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://simonwillison.net/2026/Apr/6/google-ai-edge-gallery/#atom-everything"&gt;Google AI Edge Gallery&lt;/a&gt;&lt;/strong&gt;
Simon highlights Google&amp;rsquo;s strangely-named but highly effective official iOS app for running Gemma 4 (and 3) models natively. The 2.54GB E2B model runs fast and includes features like vision, up to 30 seconds of audio transcription, and an impressive &amp;ldquo;skills&amp;rdquo; demo showcasing tool calling against eight different HTML widgets. Despite a minor app freeze bug and the unfortunate lack of permanent chat logs, Simon considers it a significant release as the first official iOS app from a local model vendor.&lt;/p&gt;</description></item><item><title>Simon Willison</title><link>https://macworks.dev/docs/today/simonwillison-2026-04-14/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://macworks.dev/docs/today/simonwillison-2026-04-14/</guid><description>&lt;h1 id="simon-willison--2026-04-14"&gt;Simon Willison — 2026-04-14&lt;a class="anchor" href="#simon-willison--2026-04-14"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="highlight"&gt;Highlight&lt;a class="anchor" href="#highlight"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Simon highlights a fascinating paradigm shift in AI security: treating vulnerability discovery as an economic &amp;ldquo;proof of work&amp;rdquo; equation where spending more tokens yields better hardening. This creates a compelling new argument for the enduring value of open-source libraries in the age of vibe-coding, as the massive cost of AI security reviews can be shared across all of a project&amp;rsquo;s users.&lt;/p&gt;
&lt;h2 id="posts"&gt;Posts&lt;a class="anchor" href="#posts"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;[datasette PR #2689: Replace token-based CSRF with Sec-Fetch-Site header protection]&lt;/strong&gt; · &lt;a href="https://simonwillison.net/2026/Apr/14/replace-token-based-csrf/#atom-everything"&gt;Source&lt;/a&gt;
Simon has replaced Datasette&amp;rsquo;s cumbersome token-based CSRF protection with a new middleware relying on the &lt;code&gt;Sec-Fetch-Site&lt;/code&gt; header, inspired by Filippo Valsorda&amp;rsquo;s research and recent changes in Go 1.25. This modern approach eliminates the need to scatter hidden CSRF token inputs throughout templates or selectively disable protection for external APIs. Interestingly, while Claude Code handled the bulk of the commits under Simon&amp;rsquo;s guidance with cross-review by GPT-5.4, Simon chose to hand-write the PR description himself as an exercise in conciseness and keeping himself honest.&lt;/p&gt;</description></item><item><title>Simon Willison</title><link>https://macworks.dev/docs/week/simonwillison/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://macworks.dev/docs/week/simonwillison/</guid><description>&lt;h1 id="simon-willison--week-of-2026-04-04-to-2026-04-10"&gt;Simon Willison — Week of 2026-04-04 to 2026-04-10&lt;a class="anchor" href="#simon-willison--week-of-2026-04-04-to-2026-04-10"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="highlight-of-the-week"&gt;Highlight of the Week&lt;a class="anchor" href="#highlight-of-the-week"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Anthropic&amp;rsquo;s decision to delay the general release of their highly capable Claude Mythos model under &amp;ldquo;Project Glasswing&amp;rdquo; marks a significant turning point in the AI industry. The move underscores a massive shift in frontier model capabilities, as models evolve from generating text to autonomously chaining multiple minor vulnerabilities into sophisticated exploits, requiring a new level of security safeguards before release.&lt;/p&gt;</description></item><item><title/><link>https://macworks.dev/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://macworks.dev/</guid><description>&lt;style&gt;
.book-btn + .book-btn { margin-left: 0.5rem; }
.book-card .markdown-inner p:first-of-type {
 min-height: 4.5em;
 line-height: 1.5;
}
&lt;/style&gt;
&lt;div class="book-hero"&gt;
&lt;h1 id="daily-digest"&gt;Daily Digest&lt;/h1&gt;
&lt;p&gt;AI-curated news and insights, organized so you never miss what matters&lt;/p&gt;
&lt;a class="book-btn"href="https://macworks.dev/docs/today/"&gt;Today's Digest&lt;/a&gt;
&lt;/div&gt;
&lt;div class="book-columns"id="book-columns-1"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;h2 id="what-is-this"&gt;What Is This&lt;a class="anchor" href="#what-is-this"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;A daily briefing that pulls from dozens of sources — tech blogs, social media, news outlets, and video channels — then distills them into concise, readable summaries you can scan in minutes.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h2 id="how-it-works"&gt;How It Works&lt;a class="anchor" href="#how-it-works"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Content is collected and summarized on a rolling basis: &lt;strong&gt;today&lt;/strong&gt; for the freshest takes, &lt;strong&gt;this week&lt;/strong&gt; for catch-up, and &lt;strong&gt;monthly/archive&lt;/strong&gt; views for deeper review.&lt;/p&gt;</description></item></channel></rss>