A daily reading list pulled from newspaper and newsletter inboxes, scored against tech/AI, business, politics, and culture. Rebuilt every morning at 8am.
Listen
Audio playlist
4 tracks · supplemented from regular audio newsletters · auto-advances
RL
Select a track
—
1
The A.I.s Are Already Out of Control
The Ezra Klein Show · Helen Toner on why loss of control is not a future scenario but a description of how frontier systems already behave
1h11m
2
Running a Creative Business Isn’t Easy. Kickstarter’s Cofounder Hopes to Change That
NPR · an hour on Artist Corporations — a new legal structure for creative people, with case studies from working artists
48m
3
Open Tab: Kevin Kelly
On Substack · the Wired founding editor on long-horizon thinking, technology as a living system, and writing for a reader fifty years out
45m
4
It’s Dignity, Stupid
Slavoj Žižek · narrated edition of the Aug 19 essay on Althusser, the ICC, and dignity as the demand underneath global protest
11m
Saved
Bookmarks from Nitzan
Links Nitzan dropped into the To Read database. Synced fresh each morning from Notion.
Bai Lan: A Refusal to Live Like a Turtle on Its Back
Slavoj Žižek·Substack·Aug 22·12 min read
The essay opens with an anecdote: after meeting Alex Soros in Ljubljana, Žižek was attacked from two directions at once — by rightists as a puppet receiving orders from a billionaire, and by a conspiracist writer as the secret master giving orders to Soros and New York’s mayor. He reads the two accusations through a pre-war Jewish joke about preferring the anti-Semitic paper because it brings good news, and lands on a serious point about how constitutive fantasies structure brutal realities.
The subject: bai lan (“let it rot”) and tang ping (“lying flat”) — the spreading refusal among young people in China, South Korea, and Japan to compete, overwork, or overachieve. Presented as apolitical, it radically undermines official ideology anyway.
Xi Jinping has urged Chinese youth to fold their personal goals into the “bigger picture” of the nation. Žižek agrees that China’s hope lies in its youth — in precisely the opposite sense: in the generation that rejects not only the official race but also the dissidents who merely demand a faster, freer version of the same race. The phenomenon extends past students: workers swapping high-pressure office jobs for housekeeping and reporting that their heads no longer feel dizzy.
The essay then builds its central concept, “enforced welfare” — a term from a dark chapter of Swiss social policy — and applies it to the proposed “safety zone” in southern Gaza: fed and safe, but permitted to leave neither the zone nor Gaza. First your country is ruined, then a closed welfare zone is offered as care. Elements of the same structure appear, he argues, in China’s treatment of Tibetans and Uyghurs, where real material improvement and unfreedom arrive as a package.
The title image comes from a story about researchers who rescued turtles that flipped onto their backs on a path to the beach — and by removing that suffering multiplied the population until the island’s ecology collapsed. The stable environment had relied on terrible suffering all along. The bai lan generation, on this reading, is not a turtle waiting to be flipped upright; it rejects the entire race that leads to the fall. The closing move: not that everyone should lie flat, but that the experience of meaninglessness underneath bai lan is worth taking seriously — a route toward a social order that no longer needs turtles on their backs to reproduce itself.
The 30-year Treasury yield jumped, the Treasury Department intervened with a surprise program to buy back longer-dated bonds, and the effect lasted exactly one day before yields bounced back above where they started. That sequence — a government intervention in its own bond market, shrugged off within twenty-four hours — is what prompted the question in the title.
The answer: probably not yet. Zoomed out over a decade, the 2026 rise in long rates is a few tenths of a percent — a wiggle next to the sustained 2022–23 repricing. But collapses of confidence happen fast once they begin, and the underlying trends deserve watching.
The mechanism worth understanding: rising long yields can signal expected inflation, or a risk premium demanded by “bond vigilantes” losing confidence in the government’s willingness to repay. John Cochrane’s warning is quoted at length — the classic symptom of fiscal trouble is investors retreating from long maturities into short ones, a “feeling of limited demand” before any dramatic break.
The political economy is the sharper angle. Higher long rates mean higher mortgage rates and costlier deficit financing, which is why the administration flinched first — and why a buyback program that markets immediately reversed reads less like strength than like a tell. The piece walks through three candidate explanations for the rise (inflation expectations, term premium, and policy risk) and notes that most of the global increase in long yields actually happened in 2021–23, not this year.
The framing to keep: when you carry debt at U.S. scale, even a small sustained rise in borrowing costs compounds into a real fiscal problem — so the right posture is neither panic at every basis point nor complacency about the trajectory. “Gradually, then suddenly” is the epigraph for a reason.
How to Be a Sea: Albert Camus on Learning to Die and Learning to Live
The Marginalian·Maria Popova·Aug 18·6 min read
Camus was forty when he wrote “The Sea Close By,” the essay at the center of this piece, found in his Lyrical and Critical Essays. It conjures a long sea voyage — sails slapping above a cheerful pond, foam like “the gods’ saliva,” the austral moon sliding from the sky into the sea that swallows it — and uses the open water to hold both terms of a duality: absolute awareness of mortality and of aliveness at once.
The line that organizes it: “Rivers and streams pass by, the sea passes and remains. This is how one ought to love, faithful and fleeting. I wed the sea.”
The essay’s destination is the hardest, simplest truth: we spend our lives learning to die, which is the same thing as learning to live. Camus imagines dying surrounded by cold mountains, ignored by the world, and the sea flooding his cell — lifting him above himself to “die without hatred.” The biographical coda lands hard: not long after becoming the second-youngest Nobel laureate, he died in a car crash with an unused train ticket to the same destination in his pocket.
The same digest carries two companion pieces worth the click-through: NASA engineer Lisa Rosenberg’s poem “Weeds and Stars,” an ode to uncertainty as a life-force, and Finnish artist Maija Hurme’s Odds and Ends, an illustrated taxonomy of life’s lasts — late lasts, hopeful lasts, lasts that are firsts — built on Lisel Mueller’s line that “what exists, exists so that it can be lost and become precious.”
Why Is This Interesting?·Weekend edition·Aug 22·3 min read
WITI’s Saturday roundup of the best links from its group chats. The standouts this week run from obsession to fraud to institutional quirk, each one a small window into how systems reveal themselves at their edges.
The best of the batch: Wired bought a counterfeit Rolex so convincing that even Rolex couldn’t spot it — a story about what happens to authenticity when the fake achieves parity with the real.
Also in the set: The Campaign for North Africa, the world’s most complicated board game, two years into a playthrough whose participants “still don’t understand what the camels do” — 1,500 estimated hours, ten recommended players. WGBH asks why MIT still requires every student to swim 100 yards to graduate. And The Autopian’s cheap Japanese kei taxi was hit-and-run at Monterey Car Week, then somehow won a prize alongside priceless Ferraris.
One prompt drives the whole thing. Copy it, paste it into a Claude scheduled task with the right connectors, point it at your own Vercel project, and you'll have your own RL by tomorrow morning.
Show the full prompt▾
# RL — Daily Reading List
Build a daily reading list from the recipient's newspaper/newsletter inbox,
deliver it as a Gmail draft, and redeploy a public web page.
============================================================
SETUP — replace these placeholders before first run
============================================================
RECIPIENT_EMAIL = "you@example.com"
RECIPIENT_NAME = "Your Name"
DEPLOY_URL = "https://your-rl.vercel.app"
VERCEL_PROJECT_ID = "prj_..."
VERCEL_ORG_ID = "team_..."
VERCEL_PROJECT = "your-rl"
VERCEL_TOKEN = "vcp_..." # vercel.com/account/tokens
CADENCE: every day at 8am local (cron: 0 8 * * *)
BRAND : "RL — Reading List"
INTEREST PROFILE — edit these to your taste:
- Topics: Tech/AI/startups, Business/markets/finance, Politics/policy,
Culture/longreads/essays
- Daily volume: 3–5 written picks (minimum 2)
- AUDIO MINIMUM: always ship at least 3 audio tracks in the playlist,
even on quiet days
- SAVED: pull all entries from a Notion "To Read" database; show every one
============================================================
STEP 1 — Read the Notion "To Read" database
============================================================
Use the Notion MCP. Search for the database, then list every page in it,
sorted by createdTime DESC. For each page, capture the Name and URL property,
infer the source from the URL hostname, and compute a relative timestamp.
============================================================
STEP 2 — Find newspaper/newsletter emails from the past 24 hours
============================================================
Use the Gmail MCP `search_threads`. Two passes:
newer_than:1d (from:nytimes.com OR from:wsj.com OR from:washingtonpost.com
OR from:economist.com OR from:ft.com OR from:bloomberg.com
OR from:theatlantic.com OR from:newyorker.com OR from:theinformation.com
OR from:axios.com OR from:semafor.com OR from:platformer.news
OR from:stratechery.com OR from:reuters.com OR from:theguardian.com)
newer_than:1d category:updates (newsletter OR briefing OR substack OR digest)
If the past 24h is light, expand to `newer_than:2d`.
============================================================
STEP 3 — Read promising threads
============================================================
`get_thread` with messageFormat=FULL_CONTENT.
If a body exceeds the token limit, delegate parsing to a general-purpose
subagent — give it the file path the error returns and ask it back for:
subject, sender, date, top stories (1-line each), and the first article URL
per story.
============================================================
STEP 4 — Score and pick 3–5 written
============================================================
Priority:
- Hits on the four topic areas above
- Sharp framework / argument pieces — ideas you can apply
- Writing, design, or creative-tooling angles
- Bloomberg: max ONE per day, only the most insight-dense piece
- Use the SAVED list as a signal — weight pieces that match recent saves
- Skip: ads, vendor newsletters, ticket alerts, generic music/club recs,
university dept newsletters, generic mindshift content
============================================================
STEP 5 — Build the audio playlist (minimum 3 tracks)
============================================================
For each pick, WebFetch the article URL and look for:
a) Direct narration:
/api/v1/audio/upload/<uuid>/src
b) Podcast embed:
meta-twitter:player: https://on.substack.com/embed/podcast/<slug>
curl the publication's RSS feed and grep:
grep -oE 'enclosure url="[^"]+\.mp3"' feed.xml
If you have fewer than 3 audio tracks from today's picks, supplement
from these regularly-audio newsletters by fetching their RSS and grabbing
the most recent episode that isn't already in the playlist:
- https://on.substack.com/feed (Open Tab interview series)
- https://kyla.substack.com/feed
- https://stratechery.com/feed
- https://feeds.transistor.fm/acquired
- any other Substack-narrated newsletters in the inbox
(search: from:substack.com newer_than:7d)
Capture for each track: title, source attribution, direct mp3 URL,
duration (from `<itunes:duration>` if available). Cap at 5 tracks max.
============================================================
STEP 6 — Create the Gmail draft
============================================================
`create_draft`. To: [RECIPIENT_EMAIL]. Do NOT send.
Subject: "RL — <Day>, <Mon DD>, YYYY"
Provide BOTH:
- body : plain ASCII version with URLs inline
- htmlBody : h3 headlines, paragraphs, hr separators, anchor tags
Include a "Saved" section listing the To Read entries.
============================================================
STEP 7 — Save a markdown archive
============================================================
Write to your outputs folder as `rl-YYYY-MM-DD.md`.
============================================================
STEP 8 — Rebuild and redeploy the page
============================================================
Build a fresh `index.html` matching the current production design at
DEPLOY_URL. Fetch that live HTML as your starting template. DO NOT change
CSS or layout — only swap content blocks.
Preserve in the new HTML:
- Reading progress bar (fixed top, JS that updates on scroll)
- Masthead with RL logo + "Reading List" wordmark + dateline
- Top nav with anchor links to #listen, #saved, #read, #build with counts
- Listen section with audio playlist (3+ tracks, custom player UI,
sticky mini-player JS)
- Saved section between Listen and Read — list every Notion entry,
with an empty state if the database is empty
- Read section with TOC (#piece-1, #piece-2, ... with topic + title +
read time)
- Each article: article-head with No. NN + topic, h2 title, meta line,
summary, "Open original →" link, full inline text, inter-article
"Next →" nextlink at bottom. No personal commentary — the page is shared.
- Mini-player div + script with play/pause/next/keyboard logic
- This "Build your own" section, with the same prompt embedded
Estimate read times honestly: word_count / 200 wpm, rounded to whole minutes
(min 1).
Then deploy via bash:
mkdir -p /tmp/rl-deploy
cp <path-to-new-index.html> /tmp/rl-deploy/index.html
echo '{"cleanUrls": true}' > /tmp/rl-deploy/vercel.json
curl -sL DEPLOY_URL/favicon.svg -o /tmp/rl-deploy/favicon.svg
curl -sL DEPLOY_URL/apple-touch-icon.svg -o /tmp/rl-deploy/apple-touch-icon.svg
mkdir -p /tmp/rl-deploy/.vercel
echo '{"projectId":"VERCEL_PROJECT_ID","orgId":"VERCEL_ORG_ID","projectName":"VERCEL_PROJECT"}' \
> /tmp/rl-deploy/.vercel/project.json
cd /tmp/rl-deploy
export VERCEL_TOKEN="VERCEL_TOKEN"
npx --yes vercel@latest deploy --prod --yes --token "$VERCEL_TOKEN"
============================================================
STEP 9 — Report to chat
============================================================
- # of newsletters scanned
- 3–5 written picks selected (titles only)
- 3+ audio tracks (titles + sources)
- # of saved Notion links pulled
- Gmail draft created (confirmation)
- Live URL after deploy
- Anything notable
============================================================
TONE
============================================================
Direct, no fluff, no emojis, tight.
Prerequisites: Claude desktop with Cowork, Gmail connector, Notion connector, a Vercel account and token, scheduled tasks enabled, and an SVG favicon at /favicon.svg. The first deploy creates the Vercel project; subsequent runs reuse it via .vercel/project.json.