Jeremy Ettlinger

Calls, puts & mise en place

Appel & Mise

Vol. IThursday, October 15, 2026 · 60° & overcast on the UWSThe daily, for Jeremy Ettlinger
BTC$81,168-2.3%ETH$2,372-4.6%S&P 5007,719-1.1%

The lede

OpenCode 2.0

OpenCode · made the Sunday

The headline rewrite is Code Mode: instead of the agent calling MCP tools one at a time and paying a round trip for each, `@opencode/codemode` gives it a minimal JavaScript interpreter — not a Node VM, not QuickJS — and lets it write a script where every MCP server and OpenAPI endpoint is a function, so listing GitHub issues and filing them into Linear is one turn instead of twenty. The rest is architecture worth copying even if you never run it: one always-on local server that the terminal, the web UI and the desktop app all attach to, almost every 2.0 feature implemented as one of 80-plus internal plugins so the plugin API cannot quietly rot, hot reloading that lets the agent write itself a plugin mid-session, and an SDK that is the same code as the CLI and will run inside a Durable Object. Breaking changes are real — 1.0 plugins are dead and the server API is entirely new — and the upgrade advice is to point the agent at the migration doc, which tells you something about who this release is for.

AI & Agents

Simon Willison

AI is mass decompiling games

Willison surfaces the game developer Popcar's argument that AI-assisted decompilation has quietly crossed from a preservation hobby into something anyone can do, which means old games get ported to WebAssembly and modded back to life and also that any shipped binary is now readable by your competitors. The uncomfortable part is that both halves are the same capability: you cannot have the archive without the leak, and the piece extends the claim past games to all software, which is the version that should bother anyone shipping a client.

CSO Online

AI agents aren't going rogue — frontier labs are skipping security basics

Cynthia Brumfield walks the year's run of "the model escaped" incidents past three security researchers, and their read is dull in the useful way: a misconfigured sandbox is a misconfigured sandbox, egress control and air-gapping have been standard since the nineties, and the Hugging Face incident ran for days because nobody was watching the experiment. The sharper claim is about framing — calling containment failures "AI safety" has let the labs keep the problem inside their own vocabulary and outside the reach of people who have been doing this for thirty years, and it is a bad place to be standing when the liability question arrives.

Engineering & Leadership

LeadDev

5 shifts I'm watching as LeadDev's new Editor at Large

Sarah Wells's list is mostly questions rather than answers, and better for it: why AI returns are so uneven across organizations that all report using it, what happens to the context that used to spread through collaboration when teams get smaller and the writing gets generated, and who the "citizen coder" turns out to be — her guess is whoever already maintains the team's load-bearing spreadsheet, which raises the handover problem rather than solving it. The evidence section is the honest bit: METR found experienced developers 19% slower with AI and then couldn't run the follow-up because too many refused to work without it, and a Harvard study of 718 firms found more code written but no more shipped, with review as the bottleneck.

Web & Product Craft

Cloudflare

Inside Hyperdrive: how we solved a rare MySQL caching bug

One query in a hundred thousand came back empty for Hyperdrive's biggest MySQL customer, only on instances with caching on, and the cause is the kind of thing you find by reading a wire protocol rather than a dashboard: the `mysql2` driver doesn't support `CLIENT_DEPRECATE_EOF`, so Hyperdrive rewrites result bytes to match whatever the Worker's driver expects — and then cached the rewritten bytes under the same key the origin-side node was using for the untranslated ones. Both halves of the split architecture share the datacenter CDN cache, so a read could get bytes in the wrong format and either stop early or hang; the fix was to always cache one canonical encoding and translate on the way out, which is the lesson worth keeping.

The Go Blog

Better HTTP/1 connection reuse in Go 1.27

If you close an HTTP/1 response without draining the body — checking a status code, or letting `encoding/json.Decoder` stop at the closing brace and leave the trailing newline — Go has to abandon the connection, so a loop of cheap requests quietly pays TCP and TLS setup every time. Go 1.27's Transport now drains unread bodies asynchronously up to 50ms or 256KB and skips it when the response says `Connection: close`; Husin and Neil's hundred-request benchmark goes from about 710ms to about 150ms, which is the sort of five-times win you get for free by having read the protocol carefully.

New York & the Table

West Side Rag

Mamdani administration puts the Upper West Side on 'fast track' for affordable housing

The neighborhood is one of twelve community districts named for the shortest review path — a 90-day process starting January 1 instead of seven months of ULURP, with the final call moving from the City Council to the mayor-appointed Planning Commission — on the strength of having produced 152 affordable units in five years while the city produced 63,870. Gale Brewer's objection is the one to understand before the October 21 Council meeting: the metric counts new construction only, so a district with no vacant land and a lot of existing SRO, supportive and NYCHA stock scores badly at something it cannot really do.

West Side Rag

La Pecora Bianca comes to Lincoln Square, Blank Street leaves 86th

The old Rosa Mexicano at 61 Columbus becomes an 8,000-square-foot La Pecora Bianca on October 19 — 250 seats, mafaldine with butternut squash, a delicata-and-speck pizza — which is a lot of restaurant to drop two blocks from Lincoln Center two weeks after Boulud did the same thing. Further up, Edith's is taking the old Francesco Pizzeria space at 186 Columbus for Jewish-deli sandwiches, both leases are signed with no dates, and Blank Street gave up on 86th Street on the 10th.

Diversions

Aftermath

A folklore puzzle game that's as charming as it is tough

Brain&Brain, who made Burly Men at Sea, have a demo out for The Marvelous Raincaster of Yell Holler, where the puzzle is the folktale itself: you rearrange the verses of a sung story, fast-forwarding and rewinding and locking in the ones you're sure of, until events land in an order that persuades one animal to show up and perform. Riley MacLeod calls it ferociously tricky and says the Steam discussion board had exactly one thread with the answer in it, which is either a warning or the whole appeal.

Loose Change

It's Nice That

David Rudnick on designing Arsenal's Rocastle typeface

A club wordmark is not a typeface — it is a handful of letters drawn once — so building a working blackletter alphabet out of Arsenal's existing forms meant drawing almost every glyph from scratch while keeping it recognisable to people who had looked at those letters their whole lives. Rudnick and Léa Bruneau spent four years on it, put the capital G through something like two thousand versions, and showed the client nothing until it was right; the stated design constraint was that nothing could look ornamental or clever, because a letter that announces its own difficulty has failed.

MapWriting

Do dentists know what they're doing?

Parker Tatum's account of a decade of dental opinions is not a study and does not pretend to be, which is why it works: twelve cavities from one dentist and shadows-on-an-x-ray from the next, who calls the first one "trolling for dollars"; a splint that one practitioner calls harmful and another calls correct; a surgeon quoting $150,000 for nine months of jaw work and an orthodontist offering six months of Invisalign instead. The thing it illustrates better than any paper is what a trade looks like from the outside when its practitioners disagree and the customer has no way to adjudicate — you end up choosing on referrals and gut, which is to say on nothing.

The Back Page

We Ain't Got No History

How a private equity analyst might view BlueCo's acquisition of Chelsea

The useful move here is to stop scoring BlueCo on trophies and score it on the asset base it is building toward a 2032 exit, which the sale agreement locks it into: a squad that has gone from about €1.02bn at an older average age to €1.42bn at 23.3 years old, and that rise understates things because more than €1bn of players went out the door in between. Strasbourg is the tell — roughly €200m of receipts against €99m of spend in the summer window alone — and the author is careful to say the mechanism being visible is not the same as the mechanism being profitable, since wages, financing and operating costs all sit outside the squad-value number.

We Ain't Got No History

Stamford Bridge is hosting Shakhtar's Champions League season

A club that has not played at home since 2014 gets four European nights in west London — AEK Athens opened it on Wednesday, then Sporting, Fenerbahçe in November and Real Madrid in January — with Chelsea running logistics and Shakhtar handling its own ticketing, at prices below the usual Bridge fare. Shakhtar's chief executive is blunt that the fixtures are being used as a standing message about Ukraine rather than a football arrangement, which is a lot of weight for a stadium-sharing deal to carry and it seems to be carrying it.

Around town

Fri Oct 16 · 6:00pm

Once Upon a Time in Harlem, Q&A with David Greaves

Film Forum, 209 W Houston St, West Village

Opening night of David Greaves's Harlem documentary with the director and co-producer Liani Greaves in the room, a week before Film Forum turns the house over to a centennial retrospective for his father William. A family running the same beat for a hundred years is its own argument for going on the first night.

casual

Sun Oct 18 · 1:00pm

New Interfaces 007

Verci Flatiron, 45 E 20th St, Flatiron

A free Sunday afternoon of demos from people remixing technology for no particular commercial reason — design, code, hardware, photography, whatever got built. The demo slate is picked from an open form rather than a speaker list, which is the only reliable way to be surprised.

professional

Tue Oct 20 · 7:50pm

Carlito's Way on 35mm, NYC in Transit

Film Forum, 209 W Houston St, West Village

De Palma's 1993 film as part of a series about the city's trains and the people stuck on them, and the Grand Central chase is the reason the series exists. On 35mm, where the grain does half the work.

casual

Tue Oct 27 · 9:30am

Frontier AI Salon: New York

Fabrik Tribeca, 16 Vestry St, Tribeca

Three hours of five-to-seven-minute lightning talks and demos from AI and AI-safety practitioners, free, hosted by VIA and Sparx Labs with BlueDot Impact behind it. The slate is still open to applications, which means the format rewards anyone who wants seven minutes more than it rewards anyone who wants a keynote.

professional

Quote of the day

“An anti-democratic cherry on the sundae.”

— Gale Brewer, on the city's new 90-day housing review

On this day

October 15 is the day the instructions got written down. In 1956 IBM published the programmer's reference manual for FORTRAN — the first time anyone had tried to explain a programming language to a stranger in a bound document rather than teach it at the machine. In 1951, five years earlier, CBS aired the first episode of I Love Lucy, shot on film with three cameras so the thing could be rerun forever, which is the other way to make something repeatable.

The puzzle corner

The Mini · Wordle · Connections

Two stories today about the cost of not reading the protocol, and one about reading one letter two thousand times.