Jeremy Ettlinger

Calls, puts & mise en place

Appel & Mise

Vol. IThursday, October 22, 2026 · 49° & partly cloudy on the UWSThe daily, for Jeremy Ettlinger
BTC$81,998-1.6%ETH$2,410-1.7%S&P 5007,757+0.5%

The lede

Compromised LiteLLM 1.107.0 on PyPI installs a credential stealer and backdoor

SafeDep

A single injected line in the sdist's maturin config — `data = "cook"` — got three files into all seven wheels, and because one of them is a `.pth` file the stealer ran on every Python process start on the host, not only the ones that imported litellm: SSH keys, cloud creds, CI secrets, AI tool tokens, browser passwords, and the provider keys sitting in a LiteLLM proxy's own database, encrypted out to a lookalike domain, with an hourly daemon pulling fresh code from a server address read out of a GitHub file. The part to sit with is the delivery: the attacker had three developers' GitHub CLI credentials, lifted from the logs of an internet-exposed internal LiteLLM deployment, and used an owner token to point the private release workflow at a lookalike repo — so the official pipeline built, signed and published it, and the Docker tags including `latest` carried it for two and a half hours.

AI & Agents

Anthropic

Introducing Claude Duet

The interesting design choice is not the morning brief but the restraint around it: Duet is built to decide what needs you, act on the rest, and then go quiet, which makes "when to interrupt" the product rather than a setting. Worth reading the safety section closely, since an agent that reads your mail and sends on your behalf is continuously deciding where information should go, and the answer here is a dedicated classifier that hard-refuses the top tier (cards, government IDs) and gates the rest on explicit instruction.

Simon Edwardsson

WorldTUI: I trained a 360M model to pretend to be a terminal

A Qwen2.5-Coder-0.5B fine-tune with no shell and no filesystem behind it — every keypress goes in, the model predicts which rows of the screen change — and it will run vim, hold a tmux session, and play snake off a WAIT token. The engineering is the pleasure: reusing Qwen's existing byte tokens so a coordinate costs one token, and a COPY op so scrolling a screen costs three tokens per row instead of ninety-six, which is the kind of representational thrift that decides whether a small model can hold a world at all.

Engineering & Leadership

The PHP Foundation · made the Sunday

Today's PHP security release, and how we're strengthening PHP security

Two pre-auth RCEs in the parts of PHP every request touches — memory management and error handling — where the first signs turned up during a 2024 audit and then the fix stalled for months because a consensus-run security team could not choose between patches that each broke compatibility, performance, or third-party extensions. The Foundation's own sentence is the one to steal for your postmortems: "the delay was a structural failure," caused by the decision process and the lack of people, and the remedy was majority voting plus actually hiring.

LeadDev

The unseen work of engineering management

The argument against the technical-work/people-work split is causal rather than sentimental: poor communication produces rework, sustained pressure produces defects, and absent safety the problem stays invisible until it surfaces as a slipped date or an incident. Ekimci's practical ask — notice quiet tension before it becomes conflict, and ask whether your best people can hold their current pace — is the half of the job that only shows up in the dashboards once you have stopped doing it.

Web & Product Craft

DuckDB

Announcing DuckDB 2.0.0 LTS "Cinnamon Teal"

Twenty thousand commits since 1.5, and the headline is that the in-process database now serves: the Quack protocol is polished, `CONNECT` attaches a remote in one statement, and a remote pushdown optimizer ships queries to Postgres or MySQL instead of dragging tables across the wire. Add async I/O, a first-class VARIANT type and triggers, and supported until at least October 2027 — the combination that makes it reasonable to point something real at it.

New York & the Table

West Side Rag

AI street cameras tracking parking violations on the UWS taken down

Six months of Automotus "CurbSight" computer vision on Broadway between 74th and 75th — chosen because the Fairway and Citarella loading zone is the most contested curb on the West Side — has ended, with DOT now analyzing the results and no tickets issued during the pilot. The quiet part is the business model the vendor advertises: per-minute invoices and automated citations, which is the curb becoming a metered API with a billing endpoint attached.

West Side Rag

The Mitchum Star Guide for Upper West Side pumpkin treats

Two WSR contributors ate the neighborhood's pumpkin output on a scale named for Robert Mitchum that tops out at three stars and then hands out four anyway, which tells you the register. Silver Moon's $10.50 mini tart takes it; the Dough doughnut on 72nd wins on value and arrives with its hole inexplicably stuffed with fried dough, and not everything has to make sense.

Diversions

Literary Hub · made the Sunday

Why Wikipedia is a wonder of the modern world — that we'll never see the likes of again

Richard Cooke opens with an English Wikipedia etched in nano-font onto a nickel disk, flung across the Sea of Tranquility when the Beresheet lander crashed in 2019, and argues the botched monument suits the thing better than a working one would have. His sharper observation is about us: a reference work consulted trillions of times provokes almost no curiosity about how it functions, which is a strange way to treat the last twenty-five-year-old institution on the internet that still works.

Loose Change

kottke.org

NYC's fastest bike messenger (1985)

Charles Kuralt profiled David Leopold for CBS in 1985, and Leopold's description of the job is four flat sentences ending in "I disobey every traffic law there is." The footage is forty years of Manhattan streetscape thrown in for free, and the 2010 follow-up answers the question the first one plants — plus the detail that killed the trade was not a crash but the fax machine.

The Back Page

We Ain't Got No History

How should Chelsea line up against Spurs?

The Everton win brought a first league clean sheet in twenty-three attempts and cost Emiliano Martínez a fractured jaw, so he joins Reece James in the six-weeks-and-possibly-January column, with Chavarría, Gittens and Emegha also out. Spurs arrive at the Bridge having finally won one on Monday, which is exactly the fixture Chelsea's back-to-back form is there to be tested by.

Golden State of Mind

Sleep Walkers: new-look Lakers dominate sluggish Warriors in opener

Curry's ankle held up and he put in sixteen in the first quarter on 7-of-9, then the Warriors lost the next three in a 127-105 that was not that close, with five players out and Walker Kessler going a perfect 12-for-12 with ten dunks — the first flawless double-digit shooting night by a Laker since Wilt in 1969. Kerr emptied the bench three minutes into the fourth, and the frontcourt is, per Keane, short, really old, or playing its first NBA game.

Around town

Fri Oct 23 · 5:00pm

Homebrew Agents Show & Tell

Betaworks, 29 Little W 12th St, Meatpacking

Around twenty-five people, five minutes each, demoing the agent setup they actually use every day — explicitly including the ones held together with tape and glue. This is the rarest format in the genre: no stage, no vendor, just other people's rigs and permission to poke at them afterward. Free, and the closest thing to reading someone else's dotfiles in person.

professional

Fri Oct 23 · 12:15pm & 8:50pm

SYMBIOPSYCHOTAXIPLASM: TAKE ONE (William Greaves 100)

Film Forum, 209 W Houston St, West Village

Greaves took a crew to Central Park in 1968 to shoot a screen test, then filmed his own crew mutinying over how badly he was directing it, then put all of it in the movie. The centenary retrospective runs about two weeks; this is the one to start with, and Take 2½ follows on Monday. Eighteen dollars, twelve for members.

casual

Sun Oct 25 · 7:00pm

Pirates of Penzance in Yiddish (Di Yam Gazlonim)

Peter Jay Sharp Theatre, 2537 Broadway at 95th

Gilbert and Sullivan run through a century of Yiddish theater: Frederic becomes Fayvl, Penzance becomes Zhitkovits, and the whole thing was nominated for a Drama Desk for best musical revival. The Folksbiene has been doing this since 1915 and it is the last company on earth that could, which is the argument for going while it exists. Ninety minutes, full English supertitles, and the 2pm is already gone.

say yes

Mon Oct 26 · 6:00pm

Agent Builder Mixer w/ 1Password x Dust

Edge Studio, 115 W 45th St, Midtown

1Password and Dust co-hosting an agent-builder room means the conversation is likely to be about credentials and blast radius rather than demos, which after this week is the conversation worth having. Free.

professional

Wed Oct 28 · 6:00pm

Backers of Fintech: Investor Happy Hour

127 W 20th St, Chelsea

A fintech capital room rather than a crypto one, which is a useful adjacent map when your own market only talks to itself. Free, and close enough to the day job to be work without feeling like it.

professional

Quote of the day

“I disobey every traffic law there is.”

— David Leopold, NYC bike messenger, 1985

On this day

October 22, 1938 — in a rented room behind a beauty parlor in Astoria, Queens, Chester Carlson pressed a sulfur-coated zinc plate against a glass slide and made the first xerographic image. The slide read '10.-22.-38 ASTORIA', which is both the world's first photocopy and a man carefully timestamping his own evidence. He then spent six years being turned down by everyone from IBM to the Army before a nonprofit in Columbus took a flyer on it.

The puzzle corner

The Mini · Wordle · Connections

The week's two supply-chain stories rhyme: eMudhra's keys were public from the moment of issuance, and LiteLLM's installer was signed by the real pipeline. Both passed every check we have because the checks test provenance, not intent.