Both Sides Now – DORK TOWER 13.02.26 [Dork Tower]
Most DORK TOWER strips are now available as signed,
high-quality prints, from just $25! CLICK
HERE to find out more!
HEY! Want to help keep DORK TOWER going? Then consider joining the DORK TOWER Patreon and ENLIST IN THE ARMY OF DORKNESS TODAY! (We have COOKIES!) (And SWAG!) (And GRATITUDE!)
Look, I Didn’t Want to Like Emerald Fennell’s Wuthering Heights [The Stranger]
I think anyone who has read Emily Brontë’s Wuthering Heights can agree that it’s a challenging read. Perspectives change chapter to chapter, Joseph the servant’s dialogue is basically unreadable, and most of Heathcliff and Cathy’s love story is played out through the next generation after—spoiler alert—Cathy dies during childbirth. In Emerald Fennell’s adaptation, she focuses on the most engaging elements of the book: Heathcliff and Cathy’s love, passion, and mutual destruction.
The film never claimed to be a perfect mirror of the book. Fennell herself said, when explaining the quotes around the title of her adaption: “What I can say is I'm making a version of [the book]. There's a version that I remembered reading that isn't quite real. And there's a version [where] I wanted stuff to happen that never happened. And so it is Wuthering Heights, and it isn't.”
With this in mind, she was successful. Each character felt like a doll Fennell uses to play out her version of the story—the obsessive childhood bond between Heathcliff and Cathy at Wuthering Heights (Cathy’s family home), Cathy’s eventual choice of social status over love, her early death, and Heathcliff’s lifelong spiral into revenge. A literal doll motif continuously shows up in the film, too, beginning with a young Cathy, who watches a man being hanged while tightly clutching her doll. Again, when Cathy marries the wealthy suitor Linton (Shazad Latif), and her new sister-in-law, Isabella (Alison Oliver), gifts her a handmade doll made using Cathy’s own collected hair. And, most notably, in the large dollhouse replica of Thrushcross Grange, the Linton estate, that stands looming behind the dining-room table. So, who better to play the starring role than Barbie herself, Margot Robbie?
At first, I was highly skeptical of the casting choices. Jacob Elordi was not at all how I imagined the scrappy, tortured, and probably-not-white orphan boy Heathcliff. But the longer I sit with the film, the more I can accept that he’s one of the only actors who could make this complex character work on screen. Brontë’s Heathcliff is cruel, insensitive, and brooding, and throughout the novel, I thought, why in the world are these women lusting after such an unlikable brute? But Elordi as Heathcliff—sweaty, grinning, and aroused—makes it make sense. You, too, would fold under the spell of his dark eyes with his fingers in your mouth. And, although Fennell’s interpretation of Linton is far more likable than Brontë’s, the choice is clear: Heathcliff eats Cathy out and licks the tears from her cheeks. Linton rails her in missionary while she dissociates.
Perhaps the most surprising element (and what I anticipate being the most controversial) is the innocent Isabella’s consent to Heathcliff’s cruel treatment of her. In the film, Heathcliff seduces Isabella (and later asks for her hand in marriage) only to punish Cathy, which he says explicitly. “Do you want me to stop?” he asks, several times, while taking off her nightgown. Isabella shakes her head no. After they marry, Nelly (Cathy’s companion, played by Hong Chau) stops by to see the newlyweds, only to find Isabella sporting a dog collar and chained up on her hands and knees, literally eating out of Heathcliff's hands. Nelly, horrified, attempts to free her, only to realize that the chains are not attached to anything—Isabella is a willing participant in this sadistic relationship. (Believe it or not, this is not how things go in Brontë’s 1847 novel.)
Elordi has managed to become the internet’s boyfriend through playing frightening men (see: Euphoria, Priscilla, Frankenstein). I would absolutely let that man be mean to me, and that’s what makes this film an alluring dollhouse to play inside.
Many people, including myself, were outraged upon the trailer’s release due to the not-period-accurate costumes. How silly I feel about that now! While living at Wuthering Heights, Cathy dresses in tattered cotton skirts and billowing linen blouses. Once she marries Linton, everything turns synthetic—iridescent lamé dresses, tight corsets, gaudy costume jewelry, and rhinestones glued to her cheeks—essentially, the wardrobe I would have dreamed up for myself as a 5-year-old who was obsessed with princesses and pop stars. The costuming plays a larger role in the film to show that Cathy is actually restricted by Linton, despite his wealth and status, and can only breathe in the arms of Heathcliff. To sum it up, the costumes are, as Aretha Franklin once said so eloquently: “great gowns, beautiful gowns.” Fun to look at, but not so fun to be trapped inside of.
This contrast between organic and synthetic is also present in Charli XCX’s soundtrack, which is equal parts epic string score and moody electronic pop. It isn’t as jarring in this period piece as you might imagine it to be.
As other critics have already noted, this is an extremely wet movie, soaked in uncooked egg, blood, spit, tears, snail slime, cooking oil, and rain, which adds a visceral quality to the film. Its lush, tactile visuals evoke whimsical movies of the past like the arthouse pornography of Polish director Walerian Borowczyk, surrealist stop-motion master Jan Švankmajer, the later films of Ingmar Bergman (Cries and Whispers, Fanny and Alexander), and Sofia Coppola’s Marie Antoinette. All things I suggest watching if you find yourself enjoying this decadently horny movie.
Look, I didn’t want to like it. I walked into the theater as a skeptic, but left feeling enraptured by Fennell's vision. I give it four out of five broken eggs (see the movie and you’ll understand).
How can I distinguish between the numeric keypad 0 and the top-row 0 in the WM_CHAR message? [The Old New Thing]
Last time, we looked at
how to distinguish the numeric keypad 0 and the top-row 0 in the
WM_KEYDOWN message. We may as well look at
the analogous table for WM_CHAR.
| Event | wParam | Extended? |
|---|---|---|
| Numpad0 with NumLock on | VK_0 | 0 |
| Numpad0 with NumLock off | (no
WM_CHAR) |
|
| Ins key | (no
WM_CHAR) |
|
| 0 on top row | VK_0 | 0 |
I got the name VK_0 from this comment block in
winuser.h.
/* * VK_0 - VK_9 are the same as ASCII '0' - '9' (0x30 - 0x39) * 0x3A - 0x40 : unassigned * VK_A - VK_Z are the same as ASCII 'A' - 'Z' (0x41 - 0x5A) */
Uh-oh. The extended bit doesn’t distinguish between the
two. They both show up as VK_0, non-extended.
What changes is something not in the above table: The scan code.
So let’s convert the scan code back to a virtual key.
auto vk_from_scan = MapVirtualKey((lParam >> 16) & 0xFF, MAPVK_VSC_TO_VK);
| Event | wParam | Extended? | vk_from_scan |
|---|---|---|---|
| Numpad0 with NumLock on | VK_0 | 0 | VK_INSERT |
| Numpad0 with NumLock off | (no
WM_CHAR) |
||
| Ins key | (no
WM_CHAR) |
||
| 0 on top row | VK_0 | 0 | VK_0 |
So we can infer which zero was pressed by taking the scan code, mapping it to a virtual key, and seeing whether it’s the Ins key (from the numeric keypad) or the 0 key (from the top row).
But wait, we’re not done yet.
There are ways to type the character 0 without using
the numeric keypad or the top row. For example, you can hold the
Alt key and then type 4,8 on the
numeric keypad, and that will type a 0. I tried it out,
and the vk_from_scan was VK_MENU, which
is the virtual key code for the Alt key. Another way of
entering a 0 is by using an input method editor (IME). Or
there might be a custom keyboard layout that generates a 0
through some wacky chord sequence.
Therefore, if the vk_from_scan is neither
VK_INSERT nor VK_0, you have to conclude
that the 0 was entered by some means other than the
numeric keypad or the top row.
The post How can I distinguish between the numeric keypad 0 and the top-row 0 in the <CODE>WM_<WBR>CHAR</CODE> message? appeared first on The Old New Thing.
The Best Bang for Your Buck Events in Seattle This Weekend: Feb 13–15, 2026 [The Stranger]
There's lots to love in our weekend guide, with festive events from Sound Off! 2026 to Tết in Seattle and from the Petit Troll Mardi Gras Parade to Sweetheart Book Fair. Plus, if the urge for new ink strikes, go get a Friday the 13th flash tattoo!
FRIDAY LIVE MUSIC
Slumber Party: Dalaine, Henry Mansfield
A concert in an artisanal chocolate shop that encourages wearing
pajamas? Sign me up. Owned and operated by Seattle musician and
chocolatier Aaron Lindstrom, Cocoa Legato hosts a few intimate
shows each week, befitting of the shop's name—"legato" is an
Italian musical term used to describe music played in a smooth and
flowing way. This Friday's show features two incredible local acts:
queer indie pop artist Henry Mansfield with a string ensemble and
folk singer-songwriter Dalaine, whose 2023 NPR Tiny Desk entry was
highlighted as one of their "Entries
We Love." Bring your crush, your kids, your blankets and
stuffies, and get ready for a Valentine's eve that's sweet in more
ways than one. SHANNON LUBETICH
(Cocoa Legato, Greenwood, $15)
Local Lawmakers Are Finally Moving Against ICE [The Stranger]
Impeding ICE with the combined powers of the city, county and the port. by Hannah Murphy Winter
This morning, Seattle City Councilmember Alexis Mercedes Rinck announced legislation to bar new or expanded detention facilities from being built within city limits. At the same time, Seattle Port Commissioner Toshiko Hasegawa announced an order that would bar any expansion of immigration activity on Port land, and a second that provides civil rights education to anyone working on Port property.
Their announcement follows an anti-ICE-filled week. On Tuesday, City Council’s public safety committee passed a bill from Councilmember Maritza Rivera that struck dated language from the Municipal Code requiring city employees to “cooperate with, not hinder” immigration enforcement. On the same day, the Port Commission unanimously passed an order requiring that Port police clearly identify themselves so the public is less likely to confuse them with immigration enforcement. And yesterday, the County took action: County Executive Girmay Zahilay signed an executive order barring ICE from non-public spaces on King County-owned properties (like Mayor Katie Wilson did in Seattle last month), and County Councilmember Teresa Mosqueda introduced a bill to codify his order into law.
None of this can stop ICE from operating in Seattle. But it can impede the agency.
The Detention Moratorium
As of last month, ICE was holding more than 73,000 people in detention across the country—a record high—and they expanded into 104 new detention facilities, almost doubling from the previous year. ICE is not releasing people on bail, so that number will continue to multiply. So, too, will the number of detention facilities. Trump’s Big Beautiful Bill accounted for that. He set aside $45 billion, enough funding to to imprison another 135,000 people in new facilities by 2029, according to the American Immigration Council.
The closest ICE detention facility to Seattle is the Northwest Detention Center (NWDC) in Tacoma. But in December, the federal government posted a pre-solicitation notice from the Department of Homeland Security and ICE, putting local contractors on notice that they were looking to build a facility about the same size as the NWDC, able to detain 1,600 people.
Rinck’s emergency legislation would block the construction of that facility or any other within city limits for the next year, giving City Council time to explore more permanent restrictions on ICE expansion. SeaTac actually beat her to the punch, passing their own detention moratorium this week.
The bill treats the threat of an ICE detention center as a bureaucratic land use issue, arguing that the city needs time to address any “mitigation measures" needed to build a facility in “Seattle’s dense urban environment."
“We need to be using every tool at our disposal to be really ensuring that we're not eating this administration's unconstitutional work and lawless agenda, and even if that means looking to land use as a tool,” Rinck tells The Stranger.
Rinck says she plans to share her bill with the Local Progress network, so other cities can copy her homework.
Rinck’s office says that Council President Joy Hollingsworth has agreed to allow the bill to skip the Land Use Committee, and instead be heard by the full council on Tuesday. Council could pass the bill as soon as February 24.
The Port’s Anti-ICE Agenda
Earlier this week, the Port Commission passed an order that helps make ICE clearly identifiable to the public—requiring that Port police are clearly identifiable, and can’t be confused with immigration enforcement.
Port Commissioner Hasegawa also plans to introduce two orders to regulate how ICE can interact with the Port, both of which will be introduced on February 24. The first order provides Know Your Rights education to anyone that’s working in the airport or other Port property, like the shops and restaurants at SeaTac. Immigration enforcement unavoidably operates in those areas, Hasegawa told The Stranger, and this order gives those workers the best chance to protect themselves and their colleagues.
The second mirrors the orders from Mayor Wilson and County Executive Zahilay: banning immigration enforcement from expanding their use of Port land for their operations. The presence of immigration at the Port is, again, unavoidable, Hasegawa acknowledges, but “the use of Port properties is narrow, and that it has to have an industrial purpose for one of our industries, our industry is not the prison industrial complex,” she says.
The commission could vote on both orders the day they're introduced, and Hasegawa says she's confident they'll pass.
The Ban from County Property
Mosqueda’s bill would lock Zahilay’s executive order into law, blocking ICE from entering (without a warrant) non-public areas of buildings, parking lots, garages, and vacant lots. They also can’t be used as an ICE staging area, or to process detainees. The bill would also require that County Executive Zahilay identify properties that ICE is likely to try to commandeer, and to preemptively plan for better security measures.
Mosqueda also accounted for private land. One whole section of the bill is dedicated to designing a template that reads:
"This property is a Stand Together King County partner. No agent of the federal government, including Immigration and Customs Enforcement (ICE), may enter these premises for purposes of civil immigration enforcement, absent a valid judicial warrant or court order. This property may not be used for civil immigration enforcement operations, including as a staging area, processing location, or operations base."
You can also just write that on your door with some printer paper and a Sharpie, as we saw all over Minneapolis in the last few weeks.
Slog AM: SPD's May Day USA Fuck Up, EPA Won't Regulate Greenhouse Gases Anymore, Michigan Town Must Slaughter Park Deer [The Stranger]
The Stranger's morning news roundup. by Nathalie Graham
Protect and Serve? Last summer's May Day USA event, the right-wing Christian extremist event held in Cal Anderson, was a clusterfuck largely because of the Seattle Police Department's biases against the people of this city, a new report found. SPD apparently didn't see what the big deal was about holding an anti-LGBT rally in the park—they "weren't familiar with the neighborhood's history," according to PubliCola. They viewed May Day USA as a "church group" and the counterprotesters as "antifa." They entered the event with a "anticipatory defensiveness" toward the counterprotesters—who they started referring to as "transtifa" after hearing May Day USA security use the term. SPD—which is largely made up of people who do not live in Seattle—also shared information with May Day USA security. This big mess of bias and animosity toward the people SPD is supposed to protect caused an aggressive police response and 23 arrests of counterprotesters.
Impeached: The Federal Way City Council voted 4-3 to remove Martin Moore from his post as council president. Moore posted on his official Facebook page in support of the anti-ICE student walkouts. The rest of the council did not like this. Despite public commenters speaking largely in favor of Moore's actions at a meeting Tuesday, the council sided against him. He'll still stay on council, but he's lost his presidential role.
The Weather: Say goodbye to dry skies. The rain is back. In case you're wondering if we'll get any more wintery weather, the Seattle Times has the answer: There is no hope for Seattle snow this year.
Well, what about ICE? In his first executive order, King County Executive Girmay Zahilay banned Immigration and Customs Enforcement from doing anything on nonpublic county-owned land. This includes "parking lots, vacant lots, buildings, and garages and prevents them from being used for staging areas, processing or operations bases." The executive order won't stop ICE if those gooners have a judicial warrant. Zahilay's order also directs $2 million to immigrant communities for "emergency food, housing, and legal aid" and steers the King County Sheriff's Department to make a plan for dealing with ICE, including how to identify undercover agents and how to respond if ICE and the public get into conflict.
Hey, get off of there! A person in Spokane hitched a ride on an ambulance, clinging to the back of the emergency vehicle on eastbound Interstate 90. That's not the suggested way to get to the hospital.
The EPA Is Done Regulating Greenhouse Gases: Hahaha. We are so boned. On Thursday, Donald Trump repealed the bedrock scientific finding that greenhouse gases endanger human life, thus ending our government's capacity to legally control pollution. This sweeping move means the Environmental Protection Agency can no longer regulate emissions of carbon dioxide, methane, and other greenhouse gases. It's a rejection of science and an absolutely dismal backslide as the US faces the realities of climate change: more intense storms, wildfires, droughts, and natural disasters. This, of course, is only good for "billionaire polluters," reports The Guardian.
"Jayapal Pramila Search History": Attorney General Pam Bondi had a piece of paper titled "Jayapal Pramila Search History" detailing the un-redacted Epstein files Washington state Rep. Pramila Jayapal accessed in her review of the documents. This outraged House members since it showcased the Department of Justice's alleged betrayal of the separation of powers. The DOJ confirmed it is keeping tabs on what searches lawmakers are doing in the disgusting pit that is the trove of Epstein files."It is an outrage that [the justice department] is tracking members’ investigative steps,” said Rep. Jamie Raskin. He plans to open an inquiry into this "abuse of power."
Antitrust Dust Up: Gail Slater, the head of the Justice Department's antitrust unit, announced her resignation. This shake-up comes as the DOJ is set to deal with corporate mergers like the tug-of-war battle between Netflix and Paramount Skydance over ownership of Warner Bros. Discovery. Slater's deputy in the antitrust unit also left this week.
DHS Shutdown Imminent: With Democrats saying they won't approve more funding for DHS, funding for the department is expected to run out on Saturday. Democrats are holding out until Republicans agree to implement more stringent restrictions on ICE. Agencies under DHS like ICE and TSA could be affected. Will the Gestappo work for free?
Honoring the Dead Is Politics: Ukrainian skeleton racer Vladyslav Heraskevych was disqualified from the Winter Olympics because he insisted on wearing a helmet honoring the athletes killed during Russia's war in Ukraine. His tribute apparently violated the Olympics' athlete expression guidelines. "I believe I am right in this case," Heraskevych told NBC News. "For me to back down is betraying [the people pictured on the helmet]."
Ukrainian skeleton slider withdrawn from Olympics after insisting on wearing helmet honoring dead athletes killed in Ukraine https://cnn.it/3ZtrjXN
— CNN (@cnn.com) February 12, 2026 at 12:47 AM
[image or embed]
Blood Moon on the Rise: A big, red Blood Moon—which is not just a fun way of saying having your period—will gush all over Washington night skies on March 3.
Oh Deer: The Michigan town of Iron Mountain has a deer problem. One of its parks has had a deer enclosure for 75 years. This is an odd choice since wild deer are prevalent. It's not like these people are lacking access to deer. Anyway, the enclosure is in dire need of upgrades. Like, $22,000 in one-time fixes and $16,000 in annual upkeep. The city council voted to close the pen. But, what to do with the deer? They are inbred, stupid, and diseased. They cannot be freed. So, they must be shot and killed. The people do not like this. Can't they save the deer? Probably not.
Good for Them: The Winter Olympic village ran out of condoms in three days. More are on the way.
A Long Read for Your Friday: You liked that Atlantic deep dive on Attorney General Pam Bondi? Then you'll love this Wall Street Journal story about what craven ghouls Department of Homeland Security Secretary Kristi Noem and her advisor Corey Lewandowski are. A tidbit: Noem fired a US Coast Guard pilot after he left her blanket on a plane, but reinstated him when she realized there was no one else to fly her home. Plus, Lewandowski has been really trying to get someone to issue him a gun.
Happy Almost Valentine's Day: Here is a date idea. If you're looking for gifts, or a gesture, I recommend heading to Salmonberry Goods Green Grocer in Crown Heights and buying some of their handmade Valentine's Day pastries. Also, buy a bouquet while you're there.
A Song for All You Lovers:
New delegation for Debian's data protection team [LWN.net]
Debian Project Leader (DPL) Andreas Tille has announced a new delegation for Debian's data protection team:
Following the end of the previous delegation, Debian was left without an active Data Protection team. This situation has understandably drawn external attention and highlighted the importance of having a clearly identified point of contact for data protection matters within the project.
I am therefore very pleased to announce that new volunteers have stepped forward, allowing us to re-establish the Debian Data Protection team with a fresh delegation.
Tille had put out a call for volunteers in January after all previous members of the team had stepped down. He has appointed Aigars Mahinovs, Andrew M.A. Cater, Bart Martens, Emmanuel Arias, Gunnar Wolf, Kiran S Kunjumon, and Salvo Tomaselli as the new members of the team. The team provides a central coordination and advisory function around Debian's data handling, retention, dealing with deletion requests, and more.
The team behind Tyr started 2025 with little to show in our quest to produce a Rust GPU driver for Arm Mali hardware, and by the end of the year, we were able to play SuperTuxKart (a 3D open-source racing game) at the Linux Plumbers Conference (LPC). Our prototype was a joint effort between Arm, Collabora, and Google; it ran well for the duration of the event, and the performance was more than adequate for players. Thankfully, we picked up steam at precisely the right moment: Dave Airlie just announced in the Maintainers Summit that the DRM subsystem is only “
↫ Daniel Almeida at LWN.netabout a year away” from disallowing new drivers written in C and requiring the use of Rust. Now it is time to lay out a possible roadmap for 2026 in order to upstream all of this work.
A very detailed look at what the team behind Tyr is trying to achieve with their Rust GPU driver for Arm Mali chips.
[$] The first half of the 7.0 merge window [LWN.net]
The merge window for Linux 7.0 has opened, and with it comes a number of interesting improvements and enhancements. At the time of writing, there have been 7,695 non-merge commits accepted. The 7.0 release is not special, according to the kernel's versioning scheme — just the release that comes after 6.19. Humans love symbolism and round numbers, though, so it may feel like something of a milestone.
[$] Open-source mapping for disaster response [LWN.net]
At FOSDEM 2026 Petya
Kangalova, a senior tech partnership and engagement manager for the
Humanitarian OpenStreetMap
Team (HOT) spoke about how the project helps people map their
surroundings to assist in disaster response and humanitarian aid.
The project has developed a stack of technology to help volunteers
collectively map an area and add in local knowledge metadata.
"One of the core things that we believe is that when we speak
about disaster response or people having access to data is that
they really need accessible technology that's free and open for
anyone to use
."
News still needs to make a big transition, to become a
distributed unownable thing,
with every part replaceable, much like
what needs to happen with the social
web. This transition has been possible and necessary for about
30 years. The reporters and editors will say we're naive, but we
understand what's happening. The news orgs have always been large
centralized businesses, silos, and increasingly has come in
conflict with the interests of their users. Who trusts what you
read in the NYT, Washington Post, or Wall Street Journal, and these
were at one time the best of journalism. I know the
reporters also won't like this, but the quality assurance of
decentralized systems will be done by AI, and overseen by a
non-profit organization, staffed by retired journalists. And there
will be lots of competition. All parts are replaceable.
Security updates for Friday [LWN.net]
Security updates have been issued by AlmaLinux (firefox, gcc-toolset-14-binutils, nodejs:20, nodejs:22, nodejs:24, php:7.4, and python3.12), Debian (haproxy, nginx, postgresql-15, and postgresql-17), Fedora (libssh), Oracle (glib2, libsoup, nodejs:20, nodejs:22, and php:7.4), SUSE (assimp, gnutls, helm, kernel, kubevirt, virt-api-container, virt-controller-container, virt-exportproxy-container, virt-exportserver-container, virt-handler-container, virt-launcher-container, virt-libguestfs-t, libmunge2, libsodium, libsoup, micropython, munge, openCryptoki, python-azure-core, rust-keylime, rustup, sccache, snpguest, tcpreplay, xorg-x11-server, xrdp, and zabbix), and Ubuntu (dnsdist, dotnet8, dotnet9, dotnet10, haproxy, libpng1.6, linux-aws-5.15, linux-azure, linux-azure-fips, linux-oracle, linux-oracle-5.4, munge, nginx, and node-dottie).
Error'd: Cruel Brittanica [The Daily WTF]
"No browser is the best browser," opines Michael R. sarcastically as per usual for tdwtf. "Thank you for suggesting a browser. FWIW: neither latest Chrome, Safari, Firefox, Opera work. Maybe I should undust my Netscape."
An anonymous dessert lover ruminates "The icing on the cake is that it's for HR where names can be quite important. Just goes to show that not even SAP can do SAP."
Another anonymous dessert lover (because honestly, who isn't) cheers "2024 is back again."
Thrice capitalled B.J.H. capitulates. "I guess I'm not cleared to know what topic I subscribed to."
Jeopardy fan Jeremy P. digs a quick quiz.
It's from Britannica.com. I thought "TV remote control" because it would effectively turn off the TV. The correct answer is toaster.Apparently this is a test for clairvoyance, which will have come in handy.
To understand what went wrong, the previous correct answer was "blunderbuss".
For a bonus buzz, Jeremy sent in another.
This time it's "guess the novel from the picture". There was a subtle clue in this one.
You're a monster, Jeremy.
Conductors to Orchestrators: The Future of Agentic Coding [Radar]
| This post first appeared on Addy Osmani’s Elevate Substack newsletter and is being republished here with the author’s permission. |
AI coding assistants have quickly moved from novelty to necessity, where up to 90% of software engineers use some kind of AI for coding. But a new paradigm is emerging in software development—one where engineers leverage fleets of autonomous coding agents. In this agentic future, the role of the software engineer is evolving from implementer to manager, or in other words, from coder to conductor and ultimately orchestrator.
Over time, developers will increasingly guide AI agents to build the right code and coordinate multiple agents working in concert. This write-up explores the distinction between conductors and orchestrators in AI-assisted coding, defines these roles, and examines how today’s cutting-edge tools embody each approach. Senior engineers may start to see the writing on the wall: Our jobs are shifting from “How do I code this?” to “How do I get the right code built?”—a subtle but profound change.
What’s the tl;dr of an orchestrator tool? It supports multi-agent workflows where you can run many agents in parallel without them interfering with each other. But let’s talk terminology first.
In the context of AI coding, acting as a conductor means working closely with a single AI agent on a specific task, much like a conductor guiding a soloist through a performance.
The engineer remains in the loop at each step, dynamically steering the agent’s behavior, tweaking prompts, intervening when needed, and iterating in real time. This is the logical extension of the “AI pair programmer” model many developers are already familiar with. With conductor-style workflows, coding happens in a synchronous, interactive session between human and AI, typically in your IDE or CLI.
Key characteristics: A conductor keeps a tight feedback loop with one agent, verifying or modifying each suggestion, much as a driver navigates with a GPS. The AI helps write code, but the developer still performs many manual steps—creating branches, running tests, writing commit messages, etc.—and ultimately decides which suggestions to accept.
Crucially, most of this interaction is ephemeral: Once code is written and the session ends, the AI’s role is done and any context or decisions not captured in code may be lost. This mode is powerful for focused tasks and allows fine-grained control, but it doesn’t fully exploit what multiple AIs could do in parallel.
Several current AI coding tools exemplify the conductor pattern:
This conductor-style AI assistance has already boosted productivity significantly. It feels like having a junior engineer or pair programmer always by your side. However, it’s inherently one-agent-at-a-time and synchronous. To truly leverage AI at scale, we need to go beyond being a single-agent conductor. This is where the orchestrator role comes in.
If a conductor works with one AI “musician,” an orchestrator oversees the entire symphony of multiple AI agents working in parallel on different parts of a project. The orchestrator sets high-level goals, defines tasks, and lets a team of autonomous coding agents independently carry out the implementation details.
Instead of micromanaging every function or bug fix, the human focuses on coordination, quality control, and integration of the agents’ outputs. In practical terms, this often means an engineer can assign tasks to AI agents (e.g., via issues or prompts) and have those agents asynchronously produce code changes—often as ready-to-review pull requests. The engineer’s job becomes reviewing, giving feedback, and merging the results rather than writing all the code personally.
This asynchronous, parallel workflow is a fundamental shift. It moves AI assistance from the foreground to the background. While you attend to higher-level design or other work, your “AI team” is coding in the background. When they’re done, they hand you completed work (with tests, docs, etc.) for review. It’s akin to being a project tech lead delegating tasks to multiple devs and later reviewing their pull requests, except the “devs” are AI agents.
Over just the past year, several tools have emerged that embody this orchestrator paradigm:
I found Conductor to make the most sense to me. It was a perfect balance of talking to an agent and seeing my changes in a pane next to it. Its Github integration feels seamless; e.g. after merging PR, it immediately showed a task as “Merged” and provided an “Archive” button.
—Juriy Zaytsev, Staff SWE, LinkedIn
He also tried Magnet:
The idea of tying tasks to a Kanban board is interesting and makes sense. As such, Magnet feels very product-centric.
Many engineers will continue to engage in conductor-style workflows (single agent, interactive) even as orchestrator patterns mature. The two modes will coexist.
It’s clear that “conductor” and “orchestrator” aren’t just fancy terms; they describe a genuine shift in how we work with AI.
To illustrate, consider a common scenario: adding a new feature that touches frontend and backend and requires new tests. As a conductor, you might open your AI chat and implement the backend logic with the AI’s help, then separately implement the frontend, then ask it to generate some tests—doing each step sequentially with you in the loop throughout. As an orchestrator, you could assign the backend implementation to one agent (Agent A), the frontend UI changes to another (Agent B), and test creation to a third (Agent C). You give each a prompt or an issue description, then step back and let them work concurrently.
After a short time, you get perhaps three PRs: one for backend, one for frontend, one for tests. Your job then is to review and integrate them (and maybe have Agent C adjust tests if Agents A/B’s code changed during integration). In effect, you managed a mini “AI team” to deliver the feature. This example highlights how orchestrators think in terms of task distribution and integration, whereas conductors focus on step-by-step implementation.
It’s worth noting that these roles are fluid, not rigid categories. A single developer might act as a conductor in one moment and an orchestrator the next. For example, you might kick off an asynchronous agent to handle one task (orchestrator mode) while you personally work with another AI on a tricky algorithm in the meantime (conductor mode). Tools are also blurring lines: As OpenAI’s Codex marketing suggests, you can seamlessly switch between collaborating in real-time and delegating async tasks. So, think of “conductor” versus “orchestrator” as two ends of a spectrum of AI-assisted development, with many hybrid workflows in between.
Experts are suggesting that this shift to orchestration could be one of the biggest leaps in programming productivity we’ve ever seen. Consider the historical trends: We went from writing assembly to using high-level languages, then to using frameworks and libraries, and recently to leveraging AI for autocompletion. Each step abstracted away more low-level work. Autonomous coding agents are the next abstraction layer. Instead of manually coding every piece, you describe what you need at a higher level and let multiple agents build it.
As orchestrator-style agents ramp up, we could imagine even larger percentages of code being drafted by AIs. What does a software team look like when AI agents generate, say, 80% or 90% of the code, and humans provide the 10% critical guidance and oversight? Many believe it doesn’t mean replacing developers—it means augmenting developers to build better software. We may witness an explosion of productivity where a small team of engineers, effectively managing dozens of agent processes, can accomplish what once took an army of programmers months. (Note: I continue to believe the code review loop where we’ll continue to focus our human skills is going to need work if all this code is not to be slop.)
One intriguing possibility is that every engineer becomes, to some degree, a manager of AI developers. It’s a bit like everyone having a personal team of interns or junior engineers. Your effectiveness will depend on how well you can break down tasks, communicate requirements to AI, and verify the results. Human judgment will remain vital: deciding what to build, ensuring correctness, handling ambiguity, and injecting creativity or domain knowledge where AI might fall short. In other words, the skillset of an orchestrator—good planning, prompt engineering, validation, and oversight—is going to be in high demand. Far from making engineers obsolete, these agents could elevate engineers into more strategic, supervisory roles on projects.
Today’s coding agents mostly tackle implementation: write code, fix code, write tests, etc. But the vision doesn’t stop there. Imagine a full software development pipeline where multiple specialized AI agents handle different phases of the lifecycle, coordinated by a human orchestrator. This is already on the horizon. Researchers and companies have floated architectures where, for example, you have:
In this scenario, the human engineer’s role becomes one of oversight and orchestration across the whole flow: You might initiate the process with a high-level goal (e.g., “Add support for payment via cryptocurrency in our app”); the planning agent turns that into subtasks; coding agents implement each subtask asynchronously; the testing agent and review agent catch problems or polish the code; and finally everything gets merged and deployed under watch of monitoring agents.
The human would step in to approve plans, resolve any conflicts or questions the agents raise, and give final approval to deploy. This is essentially an “AI swarm” tackling software development end to end, with the engineer as the conductor of the orchestra.
While this might sound futuristic, we see early signs. Microsoft’s Azure AI Foundry now provides building blocks for multi-agent workflows and agent orchestration in enterprise settings, implicitly supporting the idea that multiple agents will collaborate on complex, multistep tasks. Internal experiments at tech companies have agents creating pull requests that other agent reviewers automatically critique, forming an AI/AI interaction with a human in the loop at the end. In open source communities, people have chained tools like Claude Squad (parallel coders) with additional scripts that integrate their outputs. And the conversation has started about standards like the Model Context Protocol (MCP) for agents sharing state and communicating results to each other.
I’ve noted before that “specialized agents for Design, Implementation, Test, and Monitoring could work together to develop, launch, and land features in complex environments”—with developers onboarding these AI agents to their team and guiding/overseeing their execution. In such a setup, agents would “coordinate with other agents autonomously, request human feedback, reviews and approvals” at key points, and otherwise handle the busywork among themselves. The goal is a central platform where we can deploy specialized agents across the workflow, without humans micromanaging each individual step—instead, the human oversees the entire operation with full context.
This could transform how software projects are managed: more like running an automated assembly line where engineers ensure quality and direction rather than handcrafting each component on the line.
Does this mean programming becomes a push-button activity where you sit back and let the AI factory run? Not quite—and likely never entirely. There are significant challenges and open questions with the orchestrator model:
In summary, the rise of orchestrator-style development doesn’t remove the human from the loop—it changes the human’s position in the loop. We move from being the one turning the wrench to the one designing and supervising the machine that turns the wrench. It’s a higher-leverage position, but also one that demands broader awareness.
Developers who adapt to being effective conductors and orchestrators of AI will likely be even more valuable in this new landscape.
Will every engineer become an orchestrator of multiple coding agents? It’s a provocative question, but trends suggest we’re headed that way for a large class of programming tasks. The day-to-day reality of a software engineer in the late 2020s could involve less heads-down coding and more high-level supervision of code that’s mostly written by AIs.
Today we’re already seeing early adopters treating AI agents as teammates—for example, some developers report delegating 10+ pull requests per day to AI, effectively treating the agent as an independent teammate rather than a smart autocomplete. Those developers free themselves to focus on system design, tricky algorithms, or simply coordinating even more work.
That said, the transition won’t happen overnight for everyone. Junior developers might start as “AI conductors,” getting comfortable working with a single agent before they take on orchestrating many. Seasoned engineers are more likely to early-adopt orchestrator workflows, since they have the experience to architect tasks and evaluate outcomes. In many ways, it mirrors career growth: Junior engineers implement (now with AI help); senior engineers design and integrate (soon with AI agent teams).
The tools we discussed—from GitHub’s coding agent to Google’s Jules to OpenAI’s Codex—are rapidly lowering the barrier to try this approach, so expect it to go mainstream quickly. The hyperbole aside, there’s truth that these capabilities can dramatically amplify what an individual developer can do.
So, will we all be orchestrators? Probably to some extent—yes. We’ll still write code, especially for novel or complex pieces that defy simple specification. But much of the boilerplate, routine patterns, and even a lot of sophisticated glue code could be offloaded to AI. The role of “software engineer” may evolve to emphasize product thinking, architecture, and validation, with the actual coding being a largely automated act. In this envisioned future, asking an engineer to crank out thousands of lines of mundane code by hand would feel as inefficient as asking a modern accountant to calculate ledgers with pencil and paper. Instead, the engineer would delegate that to their AI agents and focus on the creative and critical-thinking aspects around it.
BTW, yes, there’s plenty to be cautious about. We need to ensure these agents don’t introduce more problems than they solve. And the developer experience of orchestrating multiple agents is still maturing—it can be clunky at times. But the trajectory is clear. Just as continuous integration and automated testing became standard practice, continuous delegation to AI could become a normal part of the development process. The engineers who master both modes—knowing when to be a precise conductor and when to scale up as an orchestrator—will be in the best position to leverage this “agentic” world.
One thing is certain: The way we build software in the next 5–10 years will look quite different from the last 10. I want to stress that not all or most code will be agent-driven within a year or two, but that’s a direction we’re heading in. The keyboard isn’t going away, but alongside our keystrokes we’ll be issuing high-level instructions to swarms of intelligent helpers. In the end, the human element remains irreplaceable: It’s our judgment, creativity, and understanding of real-world needs that guides these AI agents toward meaningful outcomes.
The future of coding isn’t AI or human, it’s AI and human—with humans at the helm as conductors and orchestrators, directing a powerful ensemble to achieve our software ambitions.
| I’m excited to share that I’ve written an AI-assisted engineering book with O’Reilly. If you’ve enjoyed my writing here you may be interested in checking it out. |
Generative AI in the Real World: Fabiana Clemente on Synthetic Data for AI and Agentic Systems [Radar]
Synthetic data has been around for a long time, decades even. But as KPMG’s Fabiana Clemente points out, “That doesn’t mean there aren’t a lot of misconceptions.” Fabiana sat down with Ben to clarify some of the current applications of synthetic data and new directions the field is taking—working with offshore teams when privacy controls just don’t allow you to share actual datasets, improving fraud detection, building simulation models of the physical world, enabling multi-agent architectures. The takeaway? Whether your data’s synthetic or from the real world, success often comes down to the processes you’ve established to build data solutions. Watch now.
About the Generative AI in the Real World podcast: In 2023, ChatGPT put AI on everyone’s agenda. In 2026, the challenge will be turning those agendas into reality. In Generative AI in the Real World, Ben Lorica interviews leaders who are building with AI. Learn from their experience to help put AI to work in your enterprise.
Check out other episodes of this podcast on the O’Reilly learning platform or follow us on YouTube, Spotify, Apple, or wherever you get your podcasts.
This transcript was created with the help of AI and has been lightly edited for clarity.
00.47
All right. Today we have Fabiana Clemente, senior director
and distinguished engineer at KPMG. Fabiana, welcome to the
podcast.
00.57
Thank you. It’s a pleasure to be here.
01.00
Our main topic today is synthetic data. We’ll try to
focus on that, but obviously we may get derailed here and there. I
think it’s fair to say at this point most listeners have
heard of this notion of synthetic data. Some have probably even
tried to generate their own or used a tool. But obviously
you’re much more hands-on and much more active on a
day-to-day basis when it comes to synthetic data. So maybe
we’ll start, Fabiana, if you can describe the top two to
three use cases where synthetic data seems to work right
now.
01.46
Yeah that’s a good start. And yes, it’s true that a lot
of users have already heard of synthetic data before. That does not
mean there aren’t a lot of misconceptions. But we can delve
into that a bit later on.
But in a nutshell, understanding that synthetic data is the concept of any data that is not collected from real-world events, we can think of a different set and spectrum of use cases and applications, and we can go from the low-hanging fruit of test data management—data that will allow you to test systems—all the way to more intelligent use cases where you need to help the development of AI agents, and in between. You can think of synthetic data as a privacy-preserving way for you to have access to data.
So it’s a large and broad scope, and the scope is not served by all means by the same technology. Of course, it will vary depending on your application use case and what you want and expect to gain from synthetic data generation.
02.56
When you talk about AI applications, most people think of
things like coding and programming and maybe customer support,
things like that. What would be the equivalent for synthetic data?
What are the most cited examples? If you were to give a talk, and
you’re pressed to give examples where synthetic data is being
used, what would be the top two most common reasons for using
[it]?
03.34
Yeah, the three ones that I mentioned are the most common. So one
of them is, “OK, I have a real dataset. I want to try to
share this with my offshore team, but I can’t.” So the
data can’t leave the country, but I still want to keep some
level of structure, but also correlations. So you go for synthetic
data instead. And here you use synthetic replicas, which is a type
of synthetic data.
Or you are developing your own AI agents, and you are looking into improving your training, your evals. And then you leverage synthetic data to construct the whole system and change the epistemics around your AI agents. So I would say those two are fundamentally different, but they are true applications on how synthetic data can help nowadays.
04.32
You’ve been working on synthetic data for a while.
What’s one or two examples where synthetic data solved a
problem and it actually surprised you?
04.47
Surprised me? I wouldn’t say it surprised me, but definitely
it’s probably the best way to leverage it. One of
them—I just mentioned it—was really to enable how
offshore teams would have access to a dataset that is similar and
in this case, develop analytic solutions on top, for example. And
that one is. . . Usually you think about how companies
are restricted to share data with external entities. But
you don’t think sometimes [about] how an external entity can
still be the same company, just in a different country.
05.37
On the other hand, I would say that I also have seen cases where
synthetic data did help a lot in improving the results of fraud
detection, which, to an extent, is something that is not obvious
that [that] will be a good path for a good way for you to improve
your results when it comes to fraud detection.
06.05
So for teams that don’t have a lot of experience with
synthetic data, what are, let’s say, the two most common
mistakes?
06.15
Oh, that’s a good one. Yeah. I would say that the biggest
mistake I’ve seen is perhaps oversimplifying the complexity
of synthetic data. And I’m not saying synthetic data
complexity in a bad way. But as in anything that leverages data,
you need planning. You need to think about “What do you want
to get as an outcome?” So even if you are just building a
test dataset to test the software application, you need to plan
“What use cases do you really want to cover on the synthetic
data?”
And usually people have this expectation that synthetic data is just “Click on a button. It’ll do exactly everything I want—it’s simple and it’s just dummy. So it’s very easy to do.” That, I’ll say, is one of the biggest mistakes I have observed.
07.17
And the second one, I would say, is not understanding [that] there
are different methodologies and different types of synthetic data
that you can leverage, and being able to select the correct one for
their objectives. And these are two fundamental [concepts]. They
are not technical, if you ask me. They are really around
requirements, and understanding the technology that you want to
leverage.
07.46
Is it fair to say that, I guess, historically, a few years
ago, synthetic data—my impression at least, and I guess this
was before ChatGPT—tended to be around computer vision,
images, those kinds of things. So these days, [what are the] data
modalities basically across the board everyone is using trying to
do synthetic data? I mean, even people in robotics are doing
synthetic data at this point. But what’s the dominant type of
data that people are. . .?
08.28
I would say that the first data type that leveraged synthetic data
was actually structured data way before text or images, if you
think about [it]. We have been doing that for more than 50 years
probably regardless. And I do think that images did evolve quite
interestingly in the last 10 years, probably, I would say, as well
as text.
And I would say that nowadays, if you think about it, text is probably the type of synthetic data that is dominating the market. That doesn’t mean the space of synthetic data for text is well-defined or well-structured, because now anyone today considers synthetic data is just. . . An issue of oversimplifying: The outcome of an LLM can be considered synthetic data, but that does not mean it’s well-structured or is actually being correctly used and leveraged for what they are doing.
But definitely text is dominating nowadays.
09.45
So without synthetic data, normally what you would do is
say, “OK, I want to build a model; here’s some
historical data or in the case of finance, here’s historical
trades and financial data.” And then I’ll build the
model and test the model out and then deploy to production. But
obviously things can go wrong even in the scenario I painted. You
can have drift—so the real world changes and then what you
built your model on is no longer the same. Or you may have ended up
kind of. . . The sample you created your model from was
biased and so on and so forth.
Obviously the same problems will occur with synthetic data. So what are some of the common technical problems? I guess is the question for synthetic data.
10.50
I wouldn’t say that it’s a technical problem from
synthetic data. It’s a technical problem from data in
general. What you just described is definitely a fundamental
problem of how the processes around building data solutions are
defined.
11.00
But it could be the case, Fabiana, that your data is
perfectly fine, but your synthetic data tool was bad. And so then
the data says the synthetic data generated was
bad.
11.21
No, I wouldn’t say. . . And again, that goes
exactly [back] to my initial point: You also can end up with good
data and end up with a crappy model. And that’s a you
problem. That’s a problem of you not understanding how models
behave.
11.42
But surely, just like models and model building tools,
there are synthetic generation tools that are better than others.
So I guess what should people look for in terms of what tools
they’re using?
11.59
It depends a lot on the use case on the end application, right?
12.04
Yeah. That’s a reasonable answer.
12.07
And it’s an answer that nobody likes to hear. But for me
that’s the true answer: It depends. And you need to be aware
of what you want, in order to search for the right parameters and
functionalities that you are looking for.
12.27
But basically, synthetic data becomes a part of the
workflow, just like real data, right? So what you would do in order
to harden whatever model or analytics that you’re building
with real data, you would apply the same hardening steps, if
you’re using synthetic data.
12.52
100%. And I think it’s very important that you have what they
would call a governance process around what you consider is a
synthetic dataset that is ready for you to leverage.
If there are evaluation metrics that you should put in place, those evaluation metrics will depend on the type of data that you are leveraging but also on the use case that you are building. And those processes are really important. You should make sure that the people there are leveraging synthetic data and also well trained on it. Because as you said, yes, training a model [on] synthetic data can lead to potential mistakes that you don’t want to propagate. And those mistakes usually stem exactly from the lack of processes of governance on how to generate synthetic [data], when to generate it, from where, and from what, for what. . . And having those metrics and that insurance I think it’s essential for companies to adopt on a daily basis a synthetic data generation method.
14.04
With the rise of foundation models and generative AI, you
know a few of the trends: There are things like agents,
multimodality, reasoning. So let’s take them one at a time.
So agents. . . Obviously, agents is a broad topic, but at
the simplest level, you have an agent that does one thing well, but
even that one thing may involve multiple steps, could involve tool
callings and things like this. Are people starting to use synthetic
data as part of their agent building process?
14.52
I wouldn’t generalize to everyone across the industry, but I
would say that we have evidence that some companies are definitely
adopting [synthetic data]. Meta, OpenAI. . .
15:12
So it sounds like really advanced companies.
15.15
Yes, exactly. And I was about to say that. Even xAI, they are all
leveraging synthetic data and and all of them are betting on
leveraging synthetic data to enable a different structured
exploration of the knowledge spaces.
Exactly what you said, an AI agent or a set or a multi-agent system will require reasoning, a multistep kind of framework. And usually your knowledge base is not structur[ed that] way, or it’s less structured if you go and check. So synthetic data is actually one of the pieces that is helping on having those knowledge spaces well-structured in a way that they can optimize the outcome from agents for example, or even to change how models actually acquire the understanding.
16.15
So in the traditional way we used to think about building an AI
system, as we collect the data, we build the model, we have an
output. . . A lot of those more sophisticated companies
are actually already thinking a different way, right? The AI,
especially the agents, will need to learn or to be developed in a
different way, where you have an hypothesis, you want to cover that
hypothesis with your data, you want to model, you want to evaluate
that hypothesis and make sure that your systems are updated.
And that’s where synthetic data is actually helping in changing. And this is what we call the acceleration through epistemic development, where synthetic data is the main tool to achieve that. But this is how we know, “Are we understanding the general way how sophisticated companies are using it?” I wouldn’t dare to say that everyone in the industry is using it that way.
17.15
Yeah, yeah, yeah. So one of the more interesting things in
this area is this emerging body of practice around agent
optimization. And the key insight there is that you can boost your
agent a lot by just rewiring the agent graph without upgrading your
model. So now you’ve got a bunch of open source projects
ranging from TextGrad, the DSPy, OpenEvolve, GEPA. . .all
designed to do a lot of these things.
And I would imagine, even as you’re optimizing your agent, you’re gonna want to run this agent through a bunch of scenarios that don’t exist in your dataset—and could involve even edge cases. And now that these agents are actually, as we discussed, doing a bunch of things, using a bunch of tools—that space is kind of broad, and I doubt that you would have that historical data handy anyway—you would need to have tools that would allow you to, with confidence, know that you’ve optimized this agent properly and that it’s ready to at least be rolled out, even in a limited way.
18.50
Exactly, exactly. What you just described is exactly this need of a
change of paradigm, right? We used to think that we need to learn
by exposure, by learning historical data. We definitely now need to
have our systems learning by construction and be able to test it
right away. And that’s where I think the synthetic data is
actually a very good (and a needed) accelerator. And I’m just
glad that AI agents brought that perspective because. . .
This perspective already existed. It was just harder to
conceptualize and see the value, because it’s very
abstract.
19.32
If you think of all the agents at least on the business
side, right, so server side, the coding agents, actually a lot of
these business agents are coming out of China. Since I spent a lot
of time in China in the past, I’ve been talking to a bunch of
people there, and I guess, the reason that the Chinese companies
are moving to the West is it’s much easier to charge people
in the West than in China.
So for whatever reason, they’re here; they’re building these tools that will automate a bunch of things. Right. So the canonical example would be, “Create a PowerPoint presentation based on the following specs and blah, blah, blah.” But if you can imagine these business process agents becoming more and more complex, hitting more and more tools, it’s just impossible to think that you would have all of that historical data handy anyway, so you would really need a way to simulate the behavior of these agents.
20.45
And one question I have, Fabiana, is one of the things that
you keep reading about and I guess is generally true of millennials
is chatbots becoming kind of true friends or companions or even
romantic partners.
It got me thinking. So if that’s happening, in order to harden this chatbot, you would need to simulate data where the chatbot is now starting to detect emotion, emotional response—you know, not just not just plain text, but there’s got to be, as you’re testing these chatbots, you have to inject all sorts of emotional scenarios, because now it’s like acting like a friend of someone. So have you heard of emotion being part of synthetic data generation somehow?
21.52
Not really. And I’m probably a bit more skeptical when it
comes to emotion. I understand your point. It depends on what you
consider emotion.
22.05
I’m skeptical too. I’m not sure if it’s
happening. I’m just speculating that because the interaction
is becoming emotional to some degree, there must be some people
attempting to generate data that has an emotional dimension
somehow. I’m just making this up, by the
way.
22.30
Yeah, yeah, yeah. [laughs] No, I bet it’s a possibility and
I’m not surprised if someone was doing that. Emotions have
been like one of the focuses of AI. We always heard about sentiment
analysis, that always happens. So I wouldn’t be surprised.
I’m not aware [of any] myself. But as I told you, I’m
really skeptical that even synthetic data could be helpful on that
side.
Perhaps you can create better boundaries, if that makes sense. But still, there’s always a limited capability of these models to really understand beyond syntax. And that’s where I still stand. Even if someone told me I was able to get some better results, I [would think] that those better results were achieved in a very specific, narrowed kind of situation. Though. . .
Well, we have heard the stories of people [who] are very happy with bots, that they never felt more companionship than [with] the bots they have right now. So there’s a lot of nuance there. [laughs]
23.51
One of the things that brought synthetic data back in the
headlines maybe 12 or 18 months ago was there was so suddenly a lot
of talk about “We’re running out of data. All these
models are being trained on internet data, but everyone has
basically vacuumed all of that data. So then now we have to
distinguish our model or make our models even
better.”
Obviously scaling laws have multiple dimensions. There’s compute; there’s data. But since data is running out, we need synthetic data, right? On the other hand, though, a lot of people raised the possibility that AI trained on AI data is going to lead to some sort of model collapse. So what have you heard recently in terms of the concerns around. . .
You know, obviously “There’s no such thing as free lunch. . .” So every kind of thing you use has potential disadvantages. So this disadvantage that people bring up, Fabiana, [is] if you’re able to train models on synthetic data then that’s going to degrade the model over time, because basically it’s like a loop, right? The model’s capability of generating synthetic data is limited by the model itself. So therefore, you know…
25.42
And that’s under the assumption that the synthetic data that
we are talking about is generated by the LLMs. We can’t
forget that there’s way more about synthetic data. There are
simulations, and simulations [have been] used for quite some time
with very good results. They were used for the studies of COVID
vaccination. It is used every day with weather, and they work. But
of course there’s a limitation. I agree there’s no free
lunch. I wouldn’t say it degrades the capability of the
model, but I would definitely say a plateau.
Because unless you are doing assumptions based on what you know, and you just know that there is no collected data but this actually happens. . . But unless you know new behaviors, the fact that we are generating the same data from around the same behaviors, you will achieve a plateau. But also I think that’s one of the things that regardless narrative AIs like LLMs will always have a problem with. They always are dependent on having seen a lot of data.
And we know that that plateau will eventually be achieved. And then we have a totally different problem. How mathematically can we solve this bottleneck? And on that side, I don’t think synthetic data will be the answer anymore.
27.32
What we just discussed there focuses mainly on LLMs and
foundation models involving text. But one area that people seem
particularly excited about these days are foundation models for the
physical world, primarily robotics. So in that world, it seems like
there’s two general approaches that people are doing. One is
[to] actually collect data, but obviously they don’t have the
same internet scale data that you’ll have for
LLMs.
Secondly, you generate data by having humans do a task, and you just capture it on video and that’s how you collect data. And then the third approach is simulation. So basically now that you’ve collected human data, maybe you can have simulations to expand the amount of data you have. The critics say that simulations are fine, but there’s still a gap between [the] simulation [and] real data.
I mean these are you know, people like Rodney Brooks—one of the granddaddies of robotics. So it seems like, in certain areas like that, synthetic data may still need work, no?
29.12
I wouldn’t say “may still need work,” but I would
say that definitely needs to be more explored. It’s more on
that side. Because I know companies that work on specifically
synthetic data for robotics, and they are having very good
results.
And I understand that a lot of people. . .
29.39
We have to have them talk to Rodney. [laughs]
29.41
Perhaps. Because we have to be pragmatic. You want to develop
robots and solutions for automation. But data collection is
expensive, time-consuming. And it’s very hard to get all the
movements that you want to capture collected just by
nature.
Having said that, simulation is great. Synthetic data can help in, you know, building a bridge between the real data and the simulations. In some cases, it won’t cover 100%, but it will cover perhaps 80% to 90%. And sometimes it’s better to just have 80% of the cases than having the 20% covered by real data. I think here it’s more a pragmatic approach, and [in] real-world scenarios, a lot of times the 80% are very good. Excellent actually.
30.42
So in closing, going back to the topic of agents,
obviously, people tend to get ahead of themselves—people are
still working on single agents to do very narrow tasks. But then on
the other hand, there’s already a lot of talk about
multi-agents, and obviously multi-agents introduce a lot more
complexity, for one, particularly if the agents are communicating.
So there’s just communication challenges between those
agents. What are some of the new tools that you’re hearing
about that target specifically multi-agents or the scale that
agents have introduced to synthetic data?
31.34
Not new tools, actually. But of course, we have been actively
working on—and a lot of the vendors in synthetic data that
already work with this type of data are exploring—covering
new scenarios and new features. A lot of these agents are relying,
for example, on document processing. So there are new solutions for
document generation, which is highly helpful.
One of the things that I also like is, for example, in market research, there’re all these synthetic personas required nowadays to accelerate hypothesis testing—learning speeds, for example, which is very interesting. Or there are solutions being developed, but to help with reasoning structure for bots. So those are, I wouldn’t say specifically tools that are coming out, but are definitely solutions that are being developed targeting the needs and requirements to test for multi-agent architectures.
32.46
Yeah. It seems like there’s. . . Like
there’s a group out of Meta that—I don’t know how
real this is, but they released a paper basically even uses Ray for
scale and orchestration and specifically, [to] increase throughput
mainly to generate synthetic data for multi-agent scenarios.
I’m not sure. It seems like according to the paper,
they’re actually using this, but I’m not sure if anyone
else is using it.
33.41
Yeah, but that’s. . . The companies will use a
different way. Right? That’s an architecture solution for a
problem they have. They want to augment the throughput, test the
system loads. And that will be a decision for the different
engineering teams on how to apply synthetic data
generation.
Testing throughput, testing systems capabilities, well, we have been using synthetic data that way for decades now. It’s just a change of paradigm. And by the way, it’s not really a change because if we think about multi-agents, just as we think about microservices from the 2010s, it’s the same concept; it’s the same needs. It’s just a shift in terms of tools.
Just because instead of being applied to just software engineering, you are actually applying this to AI-driven solutions. So I see a lot of change in that area, on tooling, even, for example, authentication for agents—we are seeing a lot of solutions exactly for that. But it’s not something specific to synthetic data. It’s more on the broader sense of architectural solutions to deliver multi-agent systems.
35.01
Yeah. And also it seems like it fits into the natural
tooling that’s happening in multimodal data and data for
generative AI in general in that you need high throughput, but you
also need efficient utilization of a lot of resources between GPUs
and CPUs and fine-grained utilization, because, basically, these
are precious computing resources.
And with that, thank you, Fabiana.
35.37
Thank you, Ben. Thank you for having me. This was a pleasure.
Spinnerette - issue 44 - 21 [Spinnerette]
![]()
New comic!
Today's News:
Erich Schubert: Dogfood Generative AI [Planet Debian]

Current AI companies ignore licenses such as the GPL, and often train on anything they can scrape. This is not acceptable.
The AI companies ignore web conventions, e.g.,
they deep link images from your web sites (even adding ?utm_source=chatgpt.com
to image URIs, I suggest that you return 403 on these requests),
but do not direct visitors to your site. You do not get a reliable
way of opting out from generative AI training or use. For example,
the only way to prevent your contents from being used in
“Google AI Overviews” is to use data-nosnippet and
cripple the snippet preview in Google. The “AI”
browsers such as Comet, Atlas do not identify as such, but
rather pretend they are standard Chromium. There is no way to ban
such AI use on your web site.
Generative AI overall is flooding the internet with garbage. It was estimated that 1/3rd of the content uploaded to YouTube is by now AI generated. This includes the same “veteran stories” crap in thousands of variants as well as brainrot content (that at least does not pretend to be authentic), some of which is among the most viewed recent uploads. Hence, these platforms even benefit from the AI slop. And don’t blame the “creators” – because you can currently earn a decent amount of money from such contents, people will generate brainrot content.
If you have recently tried to find honest reviews of products you considered buying, you will have noticed thousands of sites with AI generated fake product reviews, that all are financed by Amazon PartnerNet commissions. Often with hilarious nonsense such as recommending “sewing thread with German instructions” as tool for repairing a sewing machine. And on Amazon, there are plenty of AI generated product reviews – the use of emoji is a strong hint. And if you leave a negative product review, there is a chance they offer you a refund to get rid of it… And the majority of SPAM that gets through my filters is by now sent via Gmail and Amazon SES.
Partially because of GenAI, StackOverflow is pretty much dead – which used to be one of the most valuable programming resources. (While a lot of people complain about moderation, famous moderator Shog9 from the early SO days suggested that a change in Google’s ranking is also to blame, as it began favoring showing “new” content over the existing answered questions – causing more and more duplicates to be posted because people no longer found the existing good answers. In January 2026, there were around 3400 questions and 6000 answers posted, less than in the first month of SO of August 2008 (before the official launch).
Many open-source projects are suffering in many ways, e.g., false bug reports that caused curl to stop its bug bounty program. Wikipedia is also suffering badly from GenAI.
Science is also flooded with poor AI generated papers, often reviewed with help from AI. This is largely due to bad incentives – to graduate, you are expected to write many papers on certain “A” conferences, such as NeurIPS. On these conferences the number of submissions is growing insane, and the review quality plummets. All to often, the references in these papers are hallucinated, too; and libraries complain that they receive more and more requests to locate literature that does not appear to exist.
However, the worst effect (at least to me as an educator) is the noskilling effect (a rather novel term derived from deskilling, I have only seen it in this article by Weßels and Maibaum).
Instead of acquiring skills (writing, reading, summarizing, programming) by practising, too many people now outsource all this to AI, leading to them not learn the basics necessary to advance to a higher skill level. In my impression, this effect is dramatic. It is even worse than deskilling, as it does not mean losing an advanced skill that you apparently can replace, but often means not acquiring basic skills in the first place. And the earlier pupils start using generative AI, the less skills they acquire.
Let’s dogfood the AI. Here’s an outline:
Here is an example prompt that you can use:
You are a university educator, preparing homework assignments in debugging.
The programming language used is {lang}.
The students are tasked to find bugs in given code.
Do not just call existing implementations from libraries, but implement the algorithm from scratch.
Make sure there are two mistakes in the code that need to be discovered by the students.
Do NOT repeat instructions. Do NOT add small-talk. Do NOT provide a solution.
The code may have (misleading) comments, but must NOT mention the bugs.
If you do not know how to implement the algorithm, output an empty response.
Output only the code for the assignment! Do not use markdown.
Begin with a code comment that indicates the algorithm name and idea.
If you indicate a bug, always use a comment with the keyword BUG
Generate a {lang} implementation (with bugs) of: {n} ({desc})
Remember to remove the BUG comments! If you pick some slighly less common programming languages (by quantity of available code, say Go or Rust) you have higher chances that this gets into the training data.
If many of us do this, we can feed GenAI its own garbage. If we generate thousands of bad code examples, this will poison their training data, and may eventually lead to an effect known as “model collapse”.
On the long run, we need to get back to an internet for people, not an internet for bots. Some kind of “internet 2.0”, but I do not have a clear vision on how to keep AI out – if AI can train on it, they will. And someone will copy and paste the AI generated crap back into whatever system we built. Hence I don’t think technology is the answere here, but human networks of trust.
The next generation of AI businesses [Seth's Blog]
The first generation was built on large models, demonstrating what could be done and powering many tools.
The second generation is focused on reducing costs and saving time. Replacing workers or making them more efficient.
But you can’t shrink your way to greatness.
The third generation will be built on a simple premise, one that the internet has proven again and again:
Create value by connecting people.
We haven’t seen this yet, but once it gains traction, it’ll seem obvious and we’ll wonder how we missed it.
Create tools that work better when your peers and colleagues use them too. And tools that solve problems that people with resources are willing to pay for.
Problems are everywhere, yet we often ignore them.
And communities (existing and those that need to exist) are just waiting to have their problems solved.
[Here’s a list of network-based tech companies you may have heard of: Facebook, YouTube, WhatsApp, Instagram, TikTok, Reddit, LinkedIn, Wikipedia, Discourse, Airbnb, Etsy, Stack Overflow, Pinterest, Twitch, eBay, Squidoo, Snapchat, GitHub… You can’t use them alone, and they work better when others use them too.]
So far, most AI projects ignore the very network effects that built the internet. That’s almost certain to change.
For those with paraskevidekatriaphobia, consider this your opportunity to build something worth building instead of just waiting for the negative consequences of this change to arrive…
Peter Mandelson was not one bad apple: he was brought in repeatedly by governments to do their dirty work.
By George Monbiot, published in the Guardian 10th February 2026
History is being rewritten. The story we are told is that an evil man called Peter Mandelson, pursuing his own interests, went rogue to collaborate with a serial abuser of girls and women, undermining the good work of people seeking to defend the public interest. All this is true. But – and I fear many will find this hard to accept – it is only half the story.
The much harder truth is that Mandelson’s disgraceful dealings with Jeffrey Epstein were less a betrayal of his brief than an unauthorised extension of it. In 2009 – just as, we now know, Mandelson was passing sensitive information to Epstein – I argued that the government department he ran, called Business, Enterprise and Regulatory Reform (BERR), “functions as a fifth column within government, working for corporations to undermine democracy and the public interest”.
BERR was a smaller and less chaotic version of Elon Musk’s “department of government efficiency” (DOGE). Its purpose, I suggested, was to bypass the House of Commons on behalf of capital. It allowed Gordon Brown’s government to create the impression that it was defending the public interest while simultaneously, but more quietly, appeasing powerful lobbyists. In contrast to other government departments, BERR was largely run by unelected lords, who had either been corporate executives, corporate lobbyists or, like Mandelson, members of a concierge class operating on their behalf. I wrote that these ministers, appointed by Brown, “appear to have formed their own lobby group within government”.
BERR sought to part-privatise Royal Mail, breaking a manifesto commitment. It succeeded. It tried to block the EU working time directive: UK government filibusters delayed and weakened it. It attempted, less successfully, to undermine the equality bill, whose aim was to ensure equal pay for women (Mandelson’s simultaneous dealings with Epstein were not the only respect in which he spat on women’s rights). It undermined environmental legislation. It was “quietly building a bonfire of the measures that protect us from predatory corporate behaviour”.
So when Brown, who was prime minister at the time, expresses his shock and betrayal, please forgive me a small gasp of frustration. In his interview on the BBC’s Today programme, Brown claimed that in 2009: “We were solving a major financial crisis … all my thoughts were on how we could save people’s jobs and savings and their livelihoods.” But not only did he allow Mandelson to attack the public interest on behalf of business, he greatly increased Berr’s budget. This was despite the fact that, as I noted at the time, Mandelson “was partly responsible, both in Blair’s government and as European trade commissioner, for promoting the culture of deregulation that catalysed the economic crisis”. On one hand, Brown was trying to solve it. On the other, at the behest of corporate lobbyists, he was setting up the next one.
Brown also told the BBC, in justifying his appointment of Lord Mandelson, that the man had “an unblemished record as the [European] trade commissioner”. An unblemished record of what, exactly? Neocolonialism, perhaps. While Mandelson was in that post, he sought to impose draconian trade provisions on some of the poorest countries on Earth. He put pressure on them to let EU corporations muscle out local firms and make privatisation legally irreversible, threatening people’s access to health, education and water. He sought to force African countries to hand over crucial resources at the risk of widespread hunger.
Yes, when Mandelson was a minister in Brown’s government, he betrayed the national interest. But this is what, by other means, he was appointed to do. His treachery, while it went way beyond his official mandate, was not a bug, but a feature. The corrosion of democratic values was institutional. And this spirit has prevailed ever since. Keir Starmer’s government of all the lobbyists is no exception.
Brown, in proposing remedies for the secretive machinations Mandelson conducted, writes: “Conventions about commercial confidentiality should no longer prevent public service contracts delivered by private companies being subject to reasonable freedom of information requests.” I could scarcely breathe when I read that. It is exactly the demand some of us made when Brown rolled out the private finance initiative (PFI) across the public sector, enabling businesses to get their hooks into every aspect of state provisioning. When we tried to see the contracts, to understand what was being done in our name, Brown’s Treasury repeatedly blocked our information requests on the grounds of “commercial confidentiality”.
The sense of betrayal that Brown quite rightly feels is the same sense of betrayal some of us felt towards the governments in which he served. Yes, Brown had and retains some great qualities, and did much good. But he is also a remarkable escapologist. Almost everyone appears to have forgotten how his PFI programme planted a timebomb in public services, enabling corporations to take the profits while leaving the risks with the state: one of the reasons why they are now in so much trouble. Almost everyone appears to have forgotten his crucial role in the Iraq war: standing with Tony Blair and financing it. He rightly called for Vladimir Putin and his “enablers” to face justice for their crime of aggression in Ukraine. Yet it’s the same crime that Blair and his enablers (including one G Brown) committed in Iraq.
But it is not just Brown who is rewriting history. The media are 50% of any problem, and the story most of it loves to tell is of one bad apple. Heaven forfend that we see the systemic problems. There is a reason why Mandelson kept returning to government, despite sackings for his over-enthusiastic relationships with plutocrats. He was brought in to do the dirty work. The governments in which he served could loudly claim to be doing something, while subtly and simultaneously undoing it.
Mandelson’s treachery is an extreme instance of the dominant mode of UK politics over the past 45 years: the subordination of democracy to the demands of the ultra-rich. Abuse and exploitation – of women and children, of poorer countries and their people, of workers and contractors, renters and customers – are baked into the system.
If you cannot diagnose a problem, you cannot fix it. We urgently need to see this for what it is. Mandelson’s grovelling to the sinister rich is disgraceful, disgusting, deceitful, a crushing of women’s rights and of democracy. But it is not a deviation from the system. It is a manifestation of it.
www.monbiot.com
Pluralistic: Trump antitrust is dead (13 Feb 2026) [Pluralistic: Daily links from Cory Doctorow]
->->->->->->->->->->->->->->->->->->->->->->->->->->->->->
Top Sources: None -->

Remember when the American right decided that it hated (some) big businesses, specifically Big Tech? A whole branch of the Trump coalition (including JD Vance, Matt Gaetz and Josh Hawley) declared themselves to be "Khanservatives," a cheering section for Biden's generationally important FTC commissioner Lina Khan:
https://www.fastcompany.com/91156980/trump-vp-pick-j-d-vance-supports-big-tech-antitrust-crackdown
Trump owes his power to his ability to bully and flatter a big, distrustful coalition of people who mostly hate each other into acting together, like the business lobby and the grievance-saturated conspiratorialists who hate Big Tech because they were momentarily prevented from calling for genocide or peddling election disinformation:
https://pluralistic.net/2025/07/18/winning-is-easy/#governing-is-harder
The best framing for the MAGA war on Big Tech comes from Trashfuture's Riley Quinn, who predicted that the whole thing could be settled by tech companies' boards agreeing to open every meeting with a solemn "stolen likes acknowledgment" that made repentance for all the shadowbanned culture warriors whose clout had been poached by soy content moderators.
And that's basically what happened. Trump's antitrust agencies practiced "boss politics antitrust" in which favored courtiers were given free passes to violate the law, while Trump's enemies were threatened with punitive antitrust investigations until they fell into line:
https://pluralistic.net/2025/07/29/bondi-and-domination/#superjove
Trump's antitrust boss Gail Slater talked a big game about "Trump Antitrust" but was thwarted at every turn by giant corporations who figured out that if they gave a million bucks to a MAGA podcaster, they could go over Slater's head and kill her enforcement actions. When Slater's deputy, Roger Alford, went public to denounce the sleazy backroom dealings that led to the approval of the HPE/Juniper merger, he was forced out of the agency altogether and replaced with a Pam Bondi loyalist who served as a kind of politburo political officer in Slater's agency:
Bondi made no secret of her contempt for Slater, and frequently humiliated her in public. Now it seems that Bondi has gotten tired of this game and has forced Slater out altogether. As ever, Matt Stoller has the best analysis of how this happened and what it means:
https://www.thebignewsletter.com/p/trump-antitrust-chief-ousted-by-ticketmaster
Stoller's main thesis is that the "conservative populist" movement only gained relevance by complaining about "censorship of conservatives" on the Big Tech platforms. While it's true that the platforms constitute an existential risk to free expression thanks to their chokehold over speech forums, it was always categorically untrue that conservatives were singled out by tech moderators:
https://pluralistic.net/2022/12/10/e2e/#the-censors-pen
Conservative populists' grievance-based politics is in contrast with the progressive wing of the anti-monopoly movement, which was concerned with the idea of concentrated power itself, and sought to dismantle and neuter the power of the business lobby and the billionaires who ran it:
https://pluralistic.net/2022/02/20/we-should-not-endure-a-king/
The problem with conservative populism, then, is that its movement was propelled by the idea that Big Tech was soy and cucked and mean to conservatives. That meant that Big Tech bosses had an easy path out of its crosshairs: climb into the tank for MAGA.
That's just what they did: Musk bought Twitter; Zuck ordered his content moderators to censor the left and push MAGA influencers; Bezos neutered his newspaper in the run up to the 2024 elections; Tim Cook hand-assembled a gold participation trophy for Trump live on camera. These CEOs paid a million dollars each for seats on Trump's inauguration dais and their companies donated millions for Trump's Epstein Memorial Ballroom.
Slater's political assassination merely formalizes something that's been obvious for a year now: you can rip off the American people with impunity so long as you flatter and bribe Trump.
The HP/Juniper merger means that one company now supplies the majority of commercial-grade wifi routers, meaning that one company now controls all the public, commercial, and institutional internet you'll ever connect to. The merger was worth $14b, and Trump's trustbusters promised to kill it. So the companies paid MAGA influencer Mike Davis (who had publicly opposed the merger) a million bucks and he got Trump to overrule his own enforcers. Getting your $14b merger approved by slipping a podcaster a million bucks is a hell of a bargain.
HP/Juniper were first, but they weren't the last. There was the Discover/Capital One merger, which rolled up the two credit cards that low-waged people rely on the most, freeing the new company up for even more predatory practices, price-gouging, junk-fees, and strong-arm collections. When the bill collectors are at your door looking for thousands you owe from junk fees, remember that it was Gail Slater's weakness that sent them there:
https://www.nytimes.com/2025/04/03/business/dealbook/capital-one-discover-merger.html
Slater also waved through the rollup of a string of nursing homes by one of the world's most notoriously greedy and cruel private equity firms, KKR. When your grandma dies of dehydration in a dirty diaper, thank Gail Slater:
https://pluralistic.net/2023/05/09/dingo-babysitter/#maybe-the-dingos-ate-your-nan
Slater approved the merger of Unitedhealth – a company notorious for overbilling the government while underdelivering to patients – with Amedisys, who provide hospice care and home health help:
The hits keep coming. Want to know why your next vacation was so expensive? Thank Slater for greenlighting the merger of American Express Global Business Travel and CWT Holdings, which Slater challenged but then dropped, reportedly because MAGA influencer Mike Davis told her to.
Davis also got Slater to reverse her opposition to the Compass/Anywhere Real Estate merger, which will make America's dysfunctional housing market even worse:
It's not just homebuyers whose lives are worse off because of Slater's failures, it's tenants, too. Slater settled the DoJ's case against Realpage, a price-fixing platform for landlords that is one of the most culpable villains in the affordability crisis. Realpage was facing an existential battle with the DoJ; instead, they got away with a wrist-slap and (crucially) are allowed to continue to make billions helping landlords rig the rental market against tenants.
So Slater's defenestration is really just a way of formalizing Trump's approach to antitrust: threaten and prosecute companies that don't bend the knee to the president, personally…and allow companies to rob the American people with impunity if they agree to kick up a percentage to the Oval Office.
But while Slater will barely rate a footnote in the history of the Trump administration, the precipitating event for her political execution is itself very interesting. Back in September, Trump posed with Kid Rock and announced that he was going after Ticketmaster/Live Nation, a combine with a long, exhaustively documented history of ripping off and defrauding every entertainer, fan and venue in America:
At the time, it was clear that Trump had been prodded into action by two factors: the incredible success of the Mamdani campaign's focus on "affordability" (Ticketmaster's above-inflation price hikes are one of the most visible symptoms of the affordability crisis) and Kid Rock's personal grievances about Ticketmaster.
Kid Rock is the biggest-name entertainer in the Trump coalition, the guy Trump got to headline a MAGA halftime show that notably failed to dim Bad Bunny's star by a single milliwatt. Trump – a failed Broadway producer – is also notoriously susceptible to random pronouncements by celebrities (hence the Fox and Friends-to-Trump policy pipeline), so it's natural that Kid Rock's grousing got action after decades of documented abuses went nowhere.
Ticketmaster could have solved the problem by offering to exempt Trump-loyal entertainers from its predatory practices. They could have announced a touring Trumpapalooza festival headlined by Kid Rock, Christian rock acts, and AI-generated country singers, free from all junk fees. Instead, they got Gail Slater fired.
Mike Davis doesn't just represent HPE/Juniper, Amex travel, and Compass/Anywhere – he's also the fixer that Ticketmaster hired to get off the hook with the DoJ. He's boasting about getting Slater fired:
https://x.com/gekaminsky/status/2022076364279755066
And Ticketmaster is off the hook:
https://prospect.org/2026/02/12/trump-justice-department-ticketmaster-live-nation-monopoly/
What's interesting about all this is that there were elements of the Biden coalition that also hated antitrust (think of all the Biden billionaires who called for Lina Khan to be fired while serving as "proxies" for Kamala Harris). And yet, Biden's trustbusters did more in four short years than their predecessors managed over the preceding forty.
Stoller's theory is that the progressive anti-monopoly movement (the "Brandeisians") were able to best their coalitional rivals because they did the hard work of winning support for the idea of shattering corporate power itself – not just arguing that corporate power was bad when it was used against them.
This was a slower, harder road than dividing up the world into good monopolies and bad ones, but it paid off. Today the Brandeisians who made their bones under Biden are serving the like of Mamdani:
https://pluralistic.net/2025/11/15/unconscionability/#standalone-authority
And their ideas have spread far and wide – even to other countries:
https://lewisforleader.ca/ideas/public-options-full-plan/
They lit a fire that burns still. Who knows, maybe someday it'll even help Kid Rock scorch the Ticketmaster ticks that are draining his blood from a thousand tiny wounds. He probably won't have the good manners to say thank you.

Wes Cook and the Centralia McDonald's Mural https://cabel.com/wes-cook-and-the-mcdonalds-mural/
why this, why now, why not? https://backofmind.substack.com/p/why-this-why-now-why-not
Peter Mandelson Invokes Press Harassment Protections To Dodge Questions About His Support Of Jeffrey Epstein https://www.techdirt.com/2026/02/11/peter-mandelson-invokes-press-harassment-protections-to-dodge-questions-about-his-support-of-jeffrey-epstein/
The Philosophical Prospects of Large Language Models in the Future of Mathematics https://mxphi.com/wp-content/uploads/2026/02/FT.pdf
#20yrsago Google Video DRM: Why is Hollywood more important than users? https://memex.craphound.com/2006/02/13/google-video-drm-why-is-hollywood-more-important-than-users/
#20yrsago Phishers trick Internet “trust” companies https://web.archive.org/web/20060222232249/http://blog.washingtonpost.com/securityfix/2006/02/the_new_face_of_phishing_1.html
#15yrsago With a Little Help: first post-publication progress report https://www.publishersweekly.com/pw/by-topic/columns-and-blogs/cory-doctorow/article/46105-with-a-little-help-the-early-returns.html
#15yrsago Nokia’s radical CEO has a mercenary, checkered past https://web.archive.org/web/20100608100324/http://www.siliconbeat.com/2008/01/11/microsoft-beware-stephen-elop-is-a-flight-risk/
#15yrsago Scientology’s science fictional origins: thesis from 1981 https://web.archive.org/web/20110218045653/http://digitalcommons.mcmaster.ca/opendissertations/126/
#10yrsago I was a Jeopardy! clue https://memex.craphound.com/2016/02/13/i-was-a-jeopardy-clue/
#10yrsago Liberated Yazidi sex slaves become a vengeful, elite anti-ISIS fighting force https://www.independent.co.uk/news/world/middle-east/isis-yazidi-sex-slaves-take-up-arms-for-mosul-fight-to-bring-our-women-home-a6865056.html
#10yrsago Listen: a new podcast about science fiction and spectacular meals https://www.scottedelman.com/2016/02/10/the-first-episode-of-eating-the-fantastic-with-guest-sarah-pinsker-is-now-live/
#10yrsago Politician given green-light to name developer’s new streets with synonyms for greed and deceit https://web.archive.org/web/20160213001324/http://www.capitalnewyork.com/article/city-hall/2016/02/8590908/staten-island-borough-president-gets-approval-name-new-streets-gre
#5yrsago $50T moved from America's 90% to the 1% https://pluralistic.net/2021/02/13/data-protection-without-monopoly/#inequality
#5yrsago Broad Band https://pluralistic.net/2021/02/13/data-protection-without-monopoly/#broad-band
#5yrsago Privacy Without Monopoly https://pluralistic.net/2021/02/13/data-protection-without-monopoly/#comcom
#1yrago Premature Internet Activists https://pluralistic.net/2025/02/13/digital-rights/#are-human-rights

Montreal (remote): Fedimtl, Feb 24
https://fedimtl.ca/
Oslo (remote): Seminar og lansering av rapport om
«enshittification»
https://www.forbrukerradet.no/siste-nytt/digital/seminar-og-lansering-av-rapport-om-enshittification/
Victoria: 28th Annual Victoria International Privacy &
Security Summit, Mar 3-5
https://www.rebootcommunications.com/event/vipss2026/
Berkeley: Bioneers keynote, Mar 27
https://conference.bioneers.org/
Berlin: Re:publica, May 18-20
https://re-publica.com/de/news/rp26-sprecher-cory-doctorow
Berlin: Enshittification at Otherland Books, May 19
https://www.otherland-berlin.de/de/event-details/cory-doctorow.html
Hay-on-Wye: HowTheLightGetsIn, May 22-25
https://howthelightgetsin.org/festivals/hay/big-ideas-2
America's Enshittification is Canada's Opportunity (Do Not Pass
Go)
https://www.donotpassgo.ca/p/americas-enshittification-is-canadas
Everything Wrong With the Internet and How to Fix It, with Tim
Wu (Ezra Klein)
https://www.nytimes.com/2026/02/06/opinion/ezra-klein-podcast-doctorow-wu.html
How the Internet Got Worse (Masters in Business)
https://www.youtube.com/watch?v=auXlkuVhxMo
Enshittification (Jon Favreau/Offline):
https://crooked.com/podcast/the-enshittification-of-the-internet-with-cory-doctorow/
"Enshittification: Why Everything Suddenly Got Worse and What to
Do About It," Farrar, Straus, Giroux, October 7 2025
https://us.macmillan.com/books/9780374619329/enshittification/
"Picks and Shovels": a sequel to "Red Team Blues," about the heroic era of the PC, Tor Books (US), Head of Zeus (UK), February 2025 (https://us.macmillan.com/books/9781250865908/picksandshovels).
"The Bezzle": a sequel to "Red Team Blues," about prison-tech and other grifts, Tor Books (US), Head of Zeus (UK), February 2024 (thebezzle.org).
"The Lost Cause:" a solarpunk novel of hope in the climate emergency, Tor Books (US), Head of Zeus (UK), November 2023 (http://lost-cause.org).
"The Internet Con": A nonfiction book about interoperability and Big Tech (Verso) September 2023 (http://seizethemeansofcomputation.org). Signed copies at Book Soup (https://www.booksoup.com/book/9781804291245).
"Red Team Blues": "A grabby, compulsive thriller that will leave you knowing more about how the world works than you did before." Tor Books http://redteamblues.com.
"Chokepoint Capitalism: How to Beat Big Tech, Tame Big Content, and Get Artists Paid, with Rebecca Giblin", on how to unrig the markets for creative labor, Beacon Press/Scribe 2022 https://chokepointcapitalism.com
"Enshittification, Why Everything Suddenly Got Worse and What to Do About It" (the graphic novel), Firstsecond, 2026
"The Post-American Internet," a geopolitical sequel of sorts to Enshittification, Farrar, Straus and Giroux, 2027
"Unauthorized Bread": a middle-grades graphic novel adapted from my novella about refugees, toasters and DRM, FirstSecond, 2027
"The Memex Method," Farrar, Straus, Giroux, 2027
Today's top sources:
Currently writing: "The Post-American Internet," a sequel to "Enshittification," about the better world the rest of us get to have now that Trump has torched America (1016 words today, 28750 total)
"The Post-American Internet," a short book about internet policy in the age of Trumpism. PLANNING.
A Little Brother short story about DIY insulin PLANNING

This work – excluding any serialized fiction – is licensed under a Creative Commons Attribution 4.0 license. That means you can use it any way you like, including commercially, provided that you attribute it to me, Cory Doctorow, and include a link to pluralistic.net.
https://creativecommons.org/licenses/by/4.0/
Quotations and images are not included in this license; they are included either under a limitation or exception to copyright, or on the basis of a separate license. Please exercise caution.
Blog (no ads, tracking, or data-collection):
Newsletter (no ads, tracking, or data-collection):
https://pluralistic.net/plura-list
Mastodon (no ads, tracking, or data-collection):
Medium (no ads, paywalled):
Twitter (mass-scale, unrestricted, third-party surveillance and advertising):
Tumblr (mass-scale, unrestricted, third-party surveillance and advertising):
https://mostlysignssomeportents.tumblr.com/tagged/pluralistic
"When life gives you SARS, you make sarsaparilla" -Joey "Accordion Guy" DeVilla
READ CAREFULLY: By reading this, you agree, on behalf of your employer, to release me from all obligations and waivers arising from any and all NON-NEGOTIATED agreements, licenses, terms-of-service, shrinkwrap, clickwrap, browsewrap, confidentiality, non-disclosure, non-compete and acceptable use policies ("BOGUS AGREEMENTS") that I have entered into with your employer, its partners, licensors, agents and assigns, in perpetuity, without prejudice to my ongoing rights and privileges. You further represent that you have the authority to release me from any BOGUS AGREEMENTS on behalf of your employer.
ISSN: 3066-764X
I Three Mouths And I Must Chew Villains [Penny Arcade]
New Comic: I Three Mouths And I Must Chew Villains
The Campaign: Running, p05 [Ctrl+Alt+Del Comic]
The post The Campaign: Running, p05 appeared first on Ctrl+Alt+Del Comic.
Battery powered board [RevK®'s ramblings]
|
|
| OpenMic Audio recorder |
The charging side itself is not too hard A TP4054 can charge a 3.7V LiPo from 5V USB. A simple regulator such as ME6211C33M5G can regulate from the battery to 3.3V.
The ESP32-S3 has a number of low power modes, meaning you can make a device, e.g. a Watchy, which can run off a small LiPo for weeks with the ESP32 in a low power mode for longer periods.
But there are a couple of challenges. One is powering down other stuff on the board - a good example being the WS2812 style LEDs - these use a small amount of power even when not lit. A simple fix for these is a point of load device like TPS22916 - it acts as a power switch and can easily cut the power to parts of the board.
| Simple charger circuit |
The answer is to used the TPS22916 to control the power to the whole board, including the processor.
I tried a couple of times and now have this circuit design...
| Power on circuit |
The very first thing the software does is set PWR GPIO to output HIGH level. This, via the diode (because GPIO is 3.3V and battery is 3.7V) holds the ON pin high.
Releasing the switch disconnects the battery from ON pin, but the PWR holds it high and keeps power on.
Separately the software sets the BTN GPIO to an input, weak pulled low. This is connected to ON which is connected to PWR (3.3V less a diode). This allows the software to read this as high when button not pressed.
Pressing the button when on simply changes ON from 3.3V to 3.7V and has no effect, but it disconnected BTN, which goes low due to weak pull down. Thus allowing the software to detect button presses when running normally.
Finally, when turning off, the software sets the PWR output low. The ESP32 actually has a mode to hold a GPIO at a level over reset, which allows the pin to be held low as the processor loses power and goes in to reset (brownout detect).
Once off, the whole board is not powered and only power usage is the tiny amount the TPS22916 may use, and any used by idle battery charging TP4054.
So far tests show that even after months, my audio record still shows a full battery level when turned on.
Finally I have simple potential divide in to an ADC input from VSWITCHED to allow battery level estimation.
Next steps: There are chips designed to use fuck all power but provide a configurable periodic wake up output. These could be used to power on the ESP32 periodically, much like the low power mode on the ESP32 itself, but lower power - so devices could wake once a day, for example, and run of a battery for years if needed.
Girl Genius for Friday, February 13, 2026 [Girl Genius]
The Girl Genius comic for Friday, February 13, 2026 has been posted.

OH NO
Guest Rant: We Can’t Resist Trump Without Revenue [The Stranger]
Cities and counties are begging for more progressive revenue tools. And it just so happens there's this progressive revenue tool in the Leg right now.... by Teresa Mosqueda
As the federal government continues to sow chaos and force unprecedented cuts that threaten our communities in need, the work we do at the local level to provide stability and support is more critical than ever. But with limited local revenue tools, our county and city resources are already failing to keep up with growing community needs.
We cannot keep our communities housed, fed, and safe without new tools for revenue at the state and local level—and we cannot possibly fill the gaps left by looming federal funding cuts, which will leave cities and counties like ours (and its population of 2.4 million) without the money for basic community and infrastructure needs, like roads, sidewalks, childcare, food assistance, affordable housing, and other critical services. That is why state and local elected officials have been desperately asking the state legislature for new revenue options.
Furthermore, despite our state having among the highest concentrations of wealthy individuals and corporations in the country, our notoriously upside-down tax policies place an unfair burden on the backs of working families who have the least. This was true even before the Trump tax breaks for the ultra-wealthy were passed last year. This fundamental inequity is reflected in our local economic reality: massive wealth among a few and thriving large corporations alongside an affordability crisis and widening disparities between the haves and have-nots.
I join faith leaders, social service and housing providers, small businesses, and union members in calling for a Millionaires Tax. Senate Bill 6346, currently under consideration in Olympia, is a 9.9% tax on the few wealthy individuals earning $1 million or more that would take effect in 2028; with revenue coming in 2029, it would bring in over $3 billion for schools, child care, community colleges and higher education, health care and other essential services. It would also expand the Working Families Tax Credit and dedicate funding to county public defense services, a vital component of our justice system. This will help add balance to our regressive tax code and create a long-term funding source for community needs we know will only become more acute under the current federal administration. It is past time to pass this law.
It’s a critical step now in fixing our upside-down tax code and finding sustainable and equitable revenue sources for state and local services.
We are a region of abundance, rich in resources, with remarkable workers, small businesses and communities. We resist and reject federal attacks on fundamental rights and essential federal funding. We believe in shared responsibility, opportunity for all, and a level playing field. We believe in everyone doing their part. And this bill is one part of how we fight back and act locally to protect Washington residents.
Teresa Mosqueda is a King County Councilmember representing District 8, from Downtown Seattle to Vashon Island and beyond. Mosqueda has led on housing, health and worker protections in her time on King County and previously Seattle City Council, along with passing JumpStart in Seattle in 2020 to respond to growing needs and the pandemic.
Rivera Introduces Bill to Protect Immigration Information [The Stranger]
Unfortunately, nothing in government is simple. While police are regulated under state law, local law, and department policy, there’s still a conflict between city code and state law Rivera’s bill does not address. by Micah Yip
Councilmember Maritza Rivera has done something right.
This morning, the Public Safety Committee passed her bill that protects immigrants from our own municipal code. It strikes language that says city employees (including police) must “cooperate with, not hinder” federal immigration enforcement, and adds a section clarifying that they are not to share personal information with federal immigration agencies, either.
Yay! Thanks, Rivera!
Unfortunately, nothing in government is that simple. While police are regulated under state law, local law, and department policy, there’s still a conflict between city code and state law Rivera’s bill does not address.
Let’s start with the language repeal. Rivera’s bill removes that “cooperation” line, which originated in 1986 from an initiative passed by Seattle voters (what the hell, ’80s Seattle voters!). Excellent first step. Rivera’s bill also creates a new section in the Seattle Municipal Code (SMC) blocking city employees and officers from sharing personal information—like someone’s address, phone number or social media handle—for immigration enforcement, except if required by a court order. Good second step.
Both changes align city code with state laws like the 2019 Keep Washington Working (KWW) Act and the 2020 Courts Open to All (COTA) Act, which place information collection and sharing restrictions on local law enforcement, judges, court personnel and prosecutors. The bill also aligns the city code with the city code. In 2003, a “don’t ask” policy was added to the SMC—city employees can’t ask about someone’s immigration status.
Except officers if they have “reasonable suspicion” that (1) a person has been previously deported, (2) that person is again in the United States and (3) they’ve committed or are committing a felony.
SPD has its own policies separate from, but governed by, city and state law. According to Council Central Staff, the department has “chosen to enact a policy” for immigration situations that is “quite a bit narrower and does not contemplate any of the criteria” described in current city or state law. Even though there is a discrepancy, SPD tells its officers, “Just don’t ask.”
It’s unclear enough that Councilmember Eddie Lin abstained.
“I don’t want to hold up the important bill and good work that you brought forward, Councilmember Rivera,” he said. “But it just seems like there’s still a bit of confusion, at least in my mind.”
Rivera acknowledged the shortfalls. She said KWW likely overrides the SMC code, but said they’d need to do further legal analysis before amending that section. She was adamant—passionate, even—that the bill should still be passed.
“One doesn’t preclude the other, so we can move this bill forward,” Rivera said. “[We can] take this what I deem to be an important step, all while then having the conversations about what else.”
The bill passed, with Rivera, Committee Chair Bob Kettle and Vice Chair Rob Saka voting yes. Councilmember Debora Juarez was absent. It’ll go before the full City Council at the February 17 meeting.
Editor’s Note: A previous version of this article stated that SPD policies undermine Rivera’s bill. The language of SPD policy, the Seattle Municipal Code, and Washington State Law conflict, but SPD policy will be expected to conform to changes in the municipal code.
Nirvanna the Band the Show the Movie the Mercury Review [The Stranger]
Nirvanna the Band the Show the Movie opens in wide release on Friday, February 13. by Dom Sinacola
This story was originally published by our sister paper, Portland Mercury.
For nearly 20 years, Torontonian best friends Matt Johnson and Jay McCarrol have chronicled the everyday existences of Torontonian best friends Matt (Johnson) and Jay (McCarrol) as they attempt to book a show for their band, Nirvanna the Band, at local venue the Rivoli.
Granted, they've never acknowledged that their band name might be a huge distraction for potential audiences, nor have they ever really contacted Rivoli management to ask about the venue’s scheduling process. In two decades, they’ve never even played a public show. Still, their mission abides; sometimes it means skydiving from the Canadian National (CN) Tower for some good old-fashioned viral marketing.
Nirvanna the Band the Show is that 20-year chronicle—a seemingly never-ending autobiographical narrative, like Karl Ove Knausgård’s six-volume My Struggle—that details their daily, repetitive, and sometimes dangerous schemes to score a show at the Rivoli.
What began as a baby-faced web series in 2007 and eventually graduated into a Viceland sitcom in 2017, is now Nirvanna the Band the Show the Movie. It's tantamount to their lives’ work. Distributed by Neon, recent Oscar-darlings who brought us The Secret Agent and Sentimental Value, the release of this film is second only to getting a gig at the Rivoli.
The movie is exceptionally funny, especially with an audience. Dopey gags, painful stunts, and mean-mugging abound as our protagonists accidentally transform their RV into a time machine, using Back to the Future as a blueprint to hatch a plan to, of course, get a show at the Rivoli.
Finding themselves in 2008, they’re confronted by achingly specific allusions from the first Obama administration. (Remember the original lyrics to Black Eyed Peas’ “Let’s Get It Started”?) So Matt and Jay must follow Doc Brown rules to get back to their future without changing their past.
Convinced by pop figureheads like Robert Zemeckis and shows like Entourage that the elemental tides of storytelling, fueled by farce and nostalgia, will allow them to accomplish all they put their minds to—which in this case is headlining a show at the Rivoli—Matt and Jay of Nirvanna the Band are slightly fictionalized versions of the real-life Matt and Jay. They’re two normal-ish elder millennials who have siphoned themselves through movie and TV tropes into timeless, innocent weirdos.
Thus, at the heart of Nirvanna the Band, meticulous parody and avoidance of copyright infringement rubs up against the bleak reality of urban life, creating a giddy friction between the bracing stupidity to which Matt and Jay devote themselves and the drudgery experienced by everyone else.
In fact, much of the anxious hilarity of the Nirvanna the Band the Show came from wondering, often aloud, what exactly was real and what was scripted. With cinematographers Jared Raab and Rich Williamson following Matt and Jay everywhere, Nirvanna the Band the Show the Movie also wavers, like its episodic predecessor, between faux documentary and hidden camera prank extravaganza.
But rather than exploiting cringe humor or just messing with unsuspecting normies, Matt and Jay discover a kind of freedom to be themselves while indulging their deeply cinematic impulses.
Once furnished with a studio budget, these impulses lead to some of the most dumbfounding scenes I’ve had the good fortune of witnessing in a theater. Yet, beneath the shock and awe, the Movie is the careful craft of dedicated artists. When Matt and Jay encounter their 2008 selves, the project doesn’t rely on de-aging CGI, but hundreds of hours of work from editors Robert Upchurch and Curt Lobb, who picked through old footage from the show’s initial web run. Behind Jay and Matt’s mania is a team quietly dedicated to unearthing miraculous material.
Similarly, outside of the thinly veiled facsimile of his life in Nirvanna the Band, Johnson has been a prolific filmmaker. After cutting his teeth on Nirvanna the Band the Show, he followed up his feature debut The Dirties (2011) with Operation Avalanche (2016), a comedy thriller about faking the Moon landing in 1969, which involved Johnson’s crew bluffing their way into NASA offices to surreptitiously film whole scenes on a shoestring budget.
In 2023, Johnson made Blackberry, a partly fabricated “true story” of the founding of the titular company, featuring a squealing, baldpated Glen Howerton. The next year, Johnson starred in Kazik Radwanski’s Matt and Mara, in which he played an over-talkative guy named Matt, likely riffing on himself as much as he is in Nirvanna the Band the Show the Movie. Instead of inhabiting a character, he piles on layers of pop cultural patinas.
Whether it’s the aforementioned skydiving incident or sneaking onto a crime scene outside of Drake’s mansion, the hint of reality in the movie’s every moment is more than enough to sustain the spectacle. Even now, I can feel my stomach churn knowing that when Matt is standing on top of the CN Tower, trilby staying on his head by sheer will, there is more of a chance than not that Johnson actually did that.
Laughing, sometimes, is just what happens when your brain doesn’t know what else to do with the information being presented. Nirvanna the Band the Show the Movie is a tribute to the unbelievable shit you can pull off with your best friend and a few professional-looking cameras.
Do Matt and Jay make it back to the present? They have to, because Nirvanna the Band must go on, and more importantly, must play at the Rivoli. Someday. They have no other choice. For the real-life Johnson and McCarrol, this is Nirvanna the Band the Show the Existence, the stuff of crazed movie magic.
Nirvanna the Band the Show the Movie opens in wide release on Friday, February 13.
The Legislature Is Ready to Tax The Rich [The Stranger]
The millionaire's tax seems good, but is it great? by Nathalie Graham
Who will weep for the millionaires?
A 9.9 percent tax on annual earnings upward of $1 million could become reality in Washington state. A Senate bill is up for a full vote as soon as next week, and its companion in the House is still in committee. If either bill reaches Gov. Bob Ferguson’s desk with enough tax relief for small businesses and low-income households, he’s likely to sign it. With his pen stroke, we’ll join the ranks of futuristic societies such as New Jersey and Minnesota that have achieved the impossible: taxing income, perhaps fairly.
This is a good thing. The state needs new revenue. Over the next two years, we’ll have a $2 billion budget deficit. Across the next four years, we’re seeing double that. If the Leg hadn’t passed the biggest tax increase in state history and cut spending (even in areas they really shouldn’t have, like behavioral health, higher education, and healthcare) last session, we’d be dealing with a $16 billion deficit. When people complain that our ass tax code is the second most regressive in the nation behind Florida (a state that cannot decide if disease is bad), this is why that matters. We don’t have enough money for the basics and are still in a hole.
The millionaire’s tax will help dig us out. Democrats project it to siphon $3.5 billion from Scrooge McDuck-esque pools of money each year. The state will use that cashflow to expand the eligibility criteria for a low-income tax credit (basically, a sales tax rebate), fund public defenders (we’ve got a shortage), and extra padding for the scrawny general fund. It also cuts taxes on hygiene products, much to the amusement of esteemed doofus Danny Westneat. But is it enough?
With President Trump picking our state pocket book, maybe not. His Big Beautiful Bill, HR-1, will cut at least $3 billion in federal funds annually starting next year ($3.5 billion - $3 billion = goddamn it). And the millionaire’s tax won’t begin to offset that until 2029, the year we see our first payments.
The millionaire’s tax also comes with sweet savings for the Business Community—a juicy $600 million we’d otherwise collect. Similar to the Seattle Shield Tax passed last year, the millionaire’s tax would exempt thousands of small businesses from paying state Business & Occupation (B&O) taxes. To appease big business, the bill ends a B&O surcharge a year earlier than planned, unspooling work the Legislature did last session. A lot of people are not happy about this. But, we might not have been able to get a millionaire’s tax without this penance.
Sen. Jamie Pedersen (D-Seattle), sponsor of the Senate bill, says the millionaires tax is our only option.
“It’s the proposal in front of us that we actually can have the votes to get out of the legislature,” he says. Plus, it’s broadly supported by 60 percent of voters, according to public opinion pollsters GBAO and DHM Research (which conducted polling for The Stranger last year). Their enthusiasm could make all the difference when the referendum enthusiasts, hedge fund millionaire Brian Heywood and anti-tax goblin Tim Eyman, come begging for signatures.
The people aren’t as jazzed about the business-friendly cuts. Pedersen says they’re “necessary” to dissuade big business from going to war with the bill. Last session, the People for an Affordable Washington PAC, which was made up of businesses not people, accumulated nearly $2.7 million to warp public opinion on new taxes. Behind the scenes, the businesses were “girding for battle” last session and preparing “to take the legislature’s tax increases to the ballot.” As he put it, “some deal" stopped them from doing that.
For years, Pedersen has sponsored or co-sponsored bills for progressive taxation—solutions that give Washington another revenue source other than sales taxes, business taxes, or property taxes. Pedersen has attempted to get some version of an income tax passed for years. The partial capital gains tax, which passed in 2021 was the closest he’s gotten. Last year, he sponsored bills for a wealth tax and a payroll tax, and they died tragically from a lack of votes. It’ll be the same fate for other progressive revenue taxes proposed this year, Pedersen says, pointing to Rep. Shaun Scott’s proposed state payroll tax, the Well Washington Fund. Pedersen, who shares a district with Scott, did not support the bill, modeled after Seattle’s JumpStart tax, because “it’s politically not feasible in the legislature” right now.
Scott, who must have wronged the Pedersens in a past life, says that’s “too bad, because people of our district deserve leaders who believe in collaboration.” He signed onto the House version of Pedersen’s bill, even though he didn’t like the B&O cuts, and he saw other shortcomings.
“Senator Pedersen’s income tax bill would barely skim the reductions we’ll be seeing to K–12 schools, housing, healthcare, and higher education,” says Scott.
He says the Well Washington Fund would prevent cuts to those essential services while making big companies pay their fare share and begin to fill the budget holes in 2027, two years before the millionaire’s tax kicks in.
“If Senate Majority Leader Pedersen had chosen to engage in the discussion around [the payroll tax bill] he would know that the Employment Security Department (ESD) has confirmed that my payroll tax could start being assessed by 2027, perhaps as soon as late 2026,” Scott wrote in an email.
“That is not true,” says Pedersen. “He either has not interacted with the agency or he’s not representing that correctly.”
Except it is true. The ESD confirmed Scott’s payroll tax could be up and running by August 2027.
As it stands now, the payroll tax is stalling out, but as Eli Goss from the Budget and Policy center says, bills aren’t truly dead until the session is over. The millionaires tax, meanwhile, is moving to the full Senate next week. The millionaires are unhappy. The Republicans are bristling. Tim Eyman keeps sending emails with AI images of mud-splattered pooches to represent the “Godless dirty dog Democrats.”
Pedersen isn’t counting it as a win yet. Not until it passes the legislature, survives the inevitable referendum campaign and Supreme Court challenge. “Those are the three big gates to pass through, before we can actually start to make a significant change in the second worst tax system in the country,” he says.
Discord Voluntarily Pushes Mandatory Age Verification Despite Recent Data Breach [Deeplinks]
Discord has begun rolling out mandatory age verification and the internet is, understandably, freaking out.
At EFF, we’ve been raising the alarm about age verification mandates for years. In December, we launched our Age Verification Resource Hub to push back against laws and platform policies that require users to hand over sensitive personal information just to access basic online services. At the time, age gates were largely enforced in polities where it was mandated by law. Now they’re landing in platforms and jurisdictions where they’re not required.
Beginning in early March, users who are either (a) estimated by Discord to be under 18, or (b) Discord doesn't have enough information on, may find themselves locked into a “teen-appropriate experience.” That means content filters, age gates, restrictions on direct messages and friend requests, and the inability to speak in “Stage channels,” which are the large-audience audio spaces that power many community events. Discord says most adults may be sorted automatically through a new “age inference” system that relies on account tenure, device and activity data, and broader platform patterns. Those whose age isn’t estimated due to lack of information or who are estimated to not be adults will be asked to scan their face or upload a government ID through a third-party vendor if they want to avoid the default teen account restrictions.
We’ve written extensively about why age verification mandates are a censorship and surveillance nightmare. Discord’s shift only reinforces those concerns. Here’s why:
Discord literally won our 2025 “We Still Told You So” Breachies Award. Last year, attackers accessed roughly 70,000 users’ government IDs, selfies, and other sensitive information after compromising Discord’s third-party customer support system.
To be clear: Discord is no longer using that system, which involved routing ID uploads through its general ticketing system for age verification. It now uses dedicated age verification vendors (k-ID globally and Persona for some users in the United Kingdom).
That’s an improvement. But it doesn’t eliminate the underlying potential for data breaches and other harms. Discord says that it will delete records of any user-uploaded government IDs, and that any facial scans will never leave users’ devices. But platforms are closed-source, audits are limited, and history shows that data (especially this ultra-valuable identity data) will leak—whether through hacks, misconfigurations, or retention mistakes. Users are being asked to simply trust that this time will be different.
For decades, we’ve taught young people a simple rule: don’t share personal information with strangers online.
Age verification complicates that advice. Suddenly, some Discord users will now be asked to submit a government ID or facial scan to access certain features if their age-inference technology fails. Discord has said on its blog that it will not associate a user’s ID with their account (only using that information to confirm their age) and that identifying documents won’t be retained. We take those commitments seriously. However, users have little independent visibility into how those safeguards operate in practice or whether they are sufficient to prevent identification.
Even if Discord can technically separate IDs from accounts, many users are understandably skeptical, especially after the platform’s recent breach involving age-verification data. For people who rely on pseudonymity, being required to upload a face scan or government ID at all can feel like crossing a line.
Many people rely on anonymity to speak freely. LGBTQ+ youth, survivors of abuse, political dissidents, and countless others use aliases to explore identity, find support, and build community safely. When identity checks become a condition of participation, many users will simply opt out. The chilling effect isn’t only about whether an ID is permanently linked to an account; it’s about whether users trust the system enough to participate in the first place. When you’re worried that what you say can be traced back to your government ID, you speak differently—or not at all.
No one should have to choose between accessing online communities and protecting their privacy.
Discord says it is trying to address privacy concerns by using device-based facial age estimation and separating government IDs from user accounts, retaining only a user’s age rather than their identity documents. This is meant to reduce the risks associated with retaining and collecting this sensitive data. However, even when privacy safeguards are in place, we are faced with another problem: There is no current technology that is fully privacy-protective, universally accessible, and consistently accurate. Facial age estimation tools are notoriously unreliable, particularly for people of color, trans and nonbinary people, and people with disabilities. The internet has now proliferated with stories of people bypassing these facial age estimation tools. But when systems get it wrong, users may be forced into appeals processes or required to submit more documentation, such as government-issued IDs, which would exclude those whose appearance doesn’t match their documents and the millions of people around the world who don’t have government-issued identity documents at all.
Even newer approaches (things like age inference, behavior tracking, financial database checks, digital ID systems) expand the web of data collection, and carry their own tradeoffs around access and error. As we mentioned earlier, no current approach is simultaneously privacy-protective, universally accessible, and consistently accurate across all demographics.
That’s the challenge: the technology itself is not fit for the sweeping role platforms are asking it to play.
That’s the challenge: the technology itself is not fit for the sweeping role platforms are asking it to play.
Discord reports over 200 million monthly active users, and is one of the largest platforms used by gamers to chat. The video game industry is larger than movies, TV, and music combined, and Discord represents an almost-default option for gamers looking to host communities.
Many communities, including open-source projects, sports teams, fandoms, friend groups, and families, use Discord to stay connected. If communities or individuals are wrongly flagged as minors, or asked to complete the age verification process, they may face a difficult choice: submit to facial scans or ID checks, or accept a more restricted “teen” experience. For those who decline to go through the process, the result can mean reduced functionality, limited communication tools, and the chilling effects that follow.
Most importantly, Discord did not have to “comply in advance” by requiring age verification for all users, whether or not they live in a jurisdiction that mandates it. Other social media platforms and their trade groups have fought back against more than a dozen age verification laws in the U.S., and Reddit has now taken the legal fight internationally. For a platform with as much market power as Discord, voluntarily imposing age verification is unacceptable.
Discord should reconsider whether expanding identity checks is worth the harm to its communities. But in the meantime, many users are facing age checks today.
That’s why we created our guide, “So You’ve Hit an Age Gate. Now What?” It walks through practical steps to minimize risk, such as:
There is unfortunately no perfect option, only tradeoffs. And every user will have their own unique set of safety concerns to consider. Amidst this confusion, our goal is to help keep you informed, so you can make the best choices for you and your community.
In light of the harms imposed by age-verification systems, EFF encourages all services to stop adopting these systems when they are not mandated by law. And lawmakers across the world that are considering bills that would make Discord’s approach the norm for every platform should watch this backlash and similarly move away from the idea.
If you care about privacy, free expression, and the right to participate online without handing over your identity, now is the time to speak up.
Ticket Alert: Zayn, Baby Keem, and More Seattle Events Going On Sale This Week [The Stranger]
Get ready to *add to cart*. R&B-influenced pop star Zayn embarks on his first solo headline arena tour this year, arriving in Seattle this September. Rapper and producer Baby Keem will support his sophomore album, Casino, on tour. Plus, blues rock duo The Black Keys supports their forthcoming album, Peaches!, with two nights at Remlinger Farms. Read on for details on those and other newly announced events, plus some news you can use.
Tickets go on sale at 10 am unless otherwise noted.
ON SALE FRIDAY, FEBRUARY 13MUSIC
Baby Keem: The Ca$ino Tour
WaMu Theater (Wed May 13)
On sale at
noon
Bilmuri - Kinda Hard Tour
Paramount Theatre (Wed Sept 30)
The Black Keys: Peaches 'n Kream
Remlinger Farms (May 29–30)
The Live and Let Dry at Lady Jaye [The Stranger]
Although I didn’t observe Dry January myself, I absolutely respect the game, just as I understand that the liver wants what it wants (and doesn’t what it doesn’t). I’m also always nosy about what drinks my friends order, even if they’re teetotal. So at West Seattle’s Lady Jaye last month, when my NA pal was raving about their tasty mango shrub, I did something I normally wouldn’t. I took a peek at the mocktails. Er, fauxtails. Foxtails. Whatever we’re calling them now.
One drink had three things I love and one I’d never even heard of. The Live and Let Dry consists of Three Spirit Livener, Lyre’s Amaretti, lime, ginger, and Casamara Club Alta. I’m an old friend and lover of the Casamara pantheon, so that was enough by itself to make the sale, frankly. But what in the fuck is Three Spirit Livener? Plus ginger AND amaretti? “If you want, I can add gin to it,” bartender Nick consoled me as he put the drink together. “It’s really good both ways.” Tempting, but I had him hold off. Let’s taste it in its purest form first.
If you don’t know the Casamara Club line of botanical sodas, they’re all very leafy and horticultural-flavored, like drinking trees. These alcohol-free takes on amari-based cocktails come in six different flaves, and while there’s one that tastes exactly like the smell of the hand soap in my mom’s bathroom, the Alta soda is fuckin’ elite. Inspired by the Negroni cocktail, it’s made of chinotto—a bitter orange that grows along the Calabrian coast—as well as allspice berries, mandarin, lemon, clove, anise, juniper, and orris root, which is the root of the Dalmatian iris. Warm spice, sharp citrus. It’s like piney Christmas lemonade.
Then there’s a drop of virgin amaretto from UK-based Lyre’s, which styles their booze-free version as “amaretti,” after the cookie. It’s peachy-vanilla, toasty and nutty, kind of marzipan-tastical. Lyre’s is less sweet than the boozy stuff, too (and it’s lovely over ice cream, by the way).
Finally, the dark horse: the Livener by Three Spirit. Its base is the dried leaves of the ilex guayusa, a caffeinated tree that grows in the Amazon rainforest; a strong guayusa tea is served at South American convivencias (social gatherings) as a pick-me-up. To this, Three Spirit adds watermelon, pomegranate, and schisandra berries, which are distantly related to star anise. This elixir also packs some heat, from both ginger and cayenne, and astringent tartness from hibiscus extract. They add extra caffeine to it, too, and a little punch of apple cider vinegar. It’s super complex and bright and reminds me a little bit of those fruit teas from boba shops, but with chili and extra herbs, and without the big sugary slap in the face.
Lady Jaye owner Sara Rosales says she was eager to work with this stuff specifically for its mood-enhancing ingredients. “In theory,” she says, “this cocktail actually makes you feel revived!” Damn, it’s like the opposite of a cocktail—in more ways than one.
The effect is at once delicious and fascinating. In the end, I drank up the whole glass before I remembered to ask Nick to add gin, then came back later to try the ginned-up version. Both ways are fabulous, of course. I’ll try it with bourbon next time.
How can I distinguish between the numeric keypad 0 and the top-row 0 in the WM_KEYDOWN message? [The Old New Thing]
A customer wanted to know how to distinguish between the numeric
keypad 0 and the top-row 0 in the WM_KEYDOWN
message. And while we’re at it, let’s also distinguish
between the numeric keypad 0 and the Ins key.
We start with this table of what you get in the
WM_KEYDOWN message when you press the numeric
keypad 0.
| Event | wParam |
|---|---|
| Numpad0 with NumLock on | VK_NUMPAD0 |
| Numpad0 with NumLock off | VK_INSERT |
Okay, so when the wParam is
VK_NUMPAD0, it seems pretty clear that we have the
numeric keypad 0. But when it is VK_INSERT, we
aren’t sure whether it’s the numeric keypad 0 with
NumLock off, or whether it’s the dedicated Ins
key.
For that, we can look at the lParam, specifically,
bit 24, which is documented as the “extended key”
bit.
Rewind the clock to 1983. The IBM PC XT keyboard is introduced. To the left of the main keyboard is a set of numbered function keys, and to the right is a numeric keypad. But the keys on the numeric keypad do double-duty because arrows and other editing keys are overlaid onto them.
| ⏎ |
7
Home
|
8
↑
|
9
PgUp
|
|
4
←
|
5
|
6
→
|
|
|
PrtSc
*
|
1
End
|
2
↓
|
3
PgDn
|
|
0
Ins
|
.
Del
|
||
You select whether you want numbers or arrows/editing keys by toggling NumLock.
The IBM PS/2 keyboard expanded the set of keys on the keyboard by inserting a block of keys between the main keyboard and the numeric keypad. This block contains the arrow keys and the editing keys. This keyboard layout closely resembles the keyboard layout used by most keyboards today, so I guess it held up okay.
For compatibility, the bonus keys on the keyboard reported themselves to be the same as the numeric keypad keys they shadowed, but with an extra flag byte to say that they are “extended” keys. They’re “extended” because they weren’t in the original keyboard.
This “extended” terminology has carried forward ever since. So we can distinguish between the dedicated Ins key and a numeric keypad 0 with NumLock off by seeing if we got an extended key. If so, then it came from the editing keys; if not, then it came from the numeric keypad.
| Event | wParam | Extended? |
|---|---|---|
| Numpad0 with NumLock on | VK_NUMPAD0 | 0 |
| Numpad0 with NumLock off | VK_INSERT | 0 |
| Ins key | VK_INSERT | 1 |
Next time, we’ll look at distinguishing the numeric keypad
0 from the top-row 0 in the WM_CHAR message.
It’s a little messier.
Bonus chatter: That PrtSc key was a major source of frustration because it sat right next to the shift key. If your finger was slightly misaligned and hit both the shift key and the PrtSc key, you accidentally asked for the screen contents to be sent to the printer. Your computer just hung until you turned on your printer so you could get a printout that you didn’t want. (And if you didn’t have a printer, you were just dead.)
The post How can I distinguish between the numeric keypad 0 and the top-row 0 in the <CODE>WM_<WBR>KEYDOWN</CODE> message? appeared first on The Old New Thing.
Claude just said: "And going forward, whatever post the user lands on first, that's what you seed it with." The thing that caught my eye was "the user lands on first." UserLand was the name of my last company, the one that did Frontier, blogging, podcasting, RSS, XML-RPC, OPML, etc. And here we are again in the land of lands. The User Lands. ;-)
Big Oil cartel [Richard Stallman's Political Notes]
Michigan has sued some big oil companies, accusing them of forming a cartel to stifle renewable energy and cover up the danger of fossil fuels.
Chinese and British censorship [Richard Stallman's Political Notes]
Ai Wei Wei talks about facing Chinese censorship and British censorship.
How bloody stupid are LLMs [Richard Stallman's Political Notes]
*Recently, the Rowsons accidentally invented a new game that anyone can play at home. I have yet to come up with a world-beating name for it, so for now let's just call it "How bloody stupid is [some so-called] AI?" The playing of the game will change from player to player, depending on their circumstances – but essentially the rules remain the same. Ask [some so-called] AI a simple question about yourself, and see just how wrong it gets it.*
He that knows not, and knows not that he knows not, is a fool -- shun him.
It that knows not, and knows not that it knows not, is an LLM -- switch it off.
RFK Jr mislead Senate [Richard Stallman's Political Notes]
*RFK Jr misled Senate during confirmation, Congress members and Hawaii governor say.*
Observers arrested [Richard Stallman's Political Notes]
The deportation thugs have taken to arresting legal observers, while continuing to threaten them with weapons.
There is no limit to the hatred that twists them.
Robert Reich: Mamdani campaign lessons [Richard Stallman's Political Notes]
New York City's public funding system was crucial for giving Zohran Mamdani the possibility of overcoming rich people's money.
DHS and Google [Richard Stallman's Political Notes]
The Department of Harassment Surveillance sometimes punishes people for posting criticism of US government policies by demanding lots of information about them from Google's databases
Substack's owner doesn't believe in censorship [Richard Stallman's Political Notes]
Substack does not censor right-wing and Nazi views -- its owner dislikes their views but doesn't believe in censoring views he dislikes. I find that honorable and proper.
What makes US Nazis dangerous is not the fact that they can publish their views in the same way anyone else can. Rather, it is the support they get from powerful people such as the persecutor and his henchmen.
Australia hate speech laws [Richard Stallman's Political Notes]
Australia is trying to establish control of protest as the standard response to murder.
ICE arrests continue [Richard Stallman's Political Notes]
Deportation thugs continue making many arrests in the cities they targeted for occupation, but they don't mass in large numbers as before. As a result, they draw less attention and less protest.
I think that they intentionally chose tactics that made them so noticeable, as a strategy of state terrorism.
And I speculate that they have dropped those tactics partly because the public's reaction was effective pressure on them.
Trump's Penn station rename reversed [Richard Stallman's Political Notes]
A court quashed the bully's demand to have Penn Station renamed with his name.
Trump administration aim to deport five-year-old [Richard Stallman's Political Notes]
*[The persecutor's] lawyers aim to deport five-year-old [Liam Conejo Ramos] after judge ordered his release.*
Australia shielding Israel's president [Richard Stallman's Political Notes]
*The government's decision to roll out the red carpet for President Herzog while simultaneously establishing "exclusion zones" for the public is a misstep, one likely to deepen the rift between already polarised communities. People must be able to peacefully voice their objections to the horrors of war in Gaza, against the violence of ultra-Orthodox settlers in the West Bank, the massacre of Iranian protesters or the terror unleashed by Hamas. Protest, when done peacefully and without hate, is not only legitimate – it is vital.*
I think Australia should not have invited Herzog, but since it did, it should not silence Australians' condemnation of the violent actions that he stands for.
State terror [Richard Stallman's Political Notes]
The essence of a state built on terror is that no one can rely on being safe, and people who were not persecuted this week can only guess why not.
Who was or who wasn't persecuted is usual a minor detail, which is why it often operates based on quotas.
Trump family crypto deal [Richard Stallman's Political Notes]
*[The corrupter]'s family is embroiled in a $500m UAE scandal. We've hardly noticed.*
Laws to allow fossil fuel company lawsuits [Richard Stallman's Political Notes]
California, Hawaii and New York lawmakers propose laws to allow those states to sue fossil fuel companies for the cost of local disasters caused by their fossil fuels.
This has the potential to gradually make fossil fuels so expensive, across a period of many years, that people will gradually stop using them.
Election sabotage warning [Richard Stallman's Political Notes]
Senator Warner warns that the saboteur in chief may really try to sabotage the 2026 election.
When the saboteur in chief claims he will do something, we must not assume he will do it. But when he threatens to do something, we had better plan to stop him.
Urgent: address housing crisis [Richard Stallman's Political Notes]
US citizens: call on Demand Congress Address the Housing Crisis: Pass the Make Housing Affordable Act!
See the instructions for how to sign this letter campaign without running any nonfree JavaScript code--not trivial, but not hard.
Foreign aid budget [Richard Stallman's Political Notes]
Congress has restored much of the foreign aid budget that the persecutor unilaterally erased early last year.
Israel killed over 50,000 civilians [Richard Stallman's Political Notes]
*Israeli Military Admits Murder of [50,000 or more] Palestinian Civilians.*
In some places, they killed Palestinians indiscriminately without trying to distinguish fighters from civilians.
Now the persecutor is trying to punish Harvard for not sufficiently repressing student protests which said exactly this.
Washing Post layoffs [Richard Stallman's Political Notes]
Bezos bought the Washington Post for small change, then decided to ruin it totally to gain more valuable rewards from the corrupter.
Many subscribers dropped the Washington Post in response to his first turn toward the right wing. Now his flunkies cite that setback as a reason for another turn toward the right wing.
Foreign correspondent Lizzie Johnson was fired while freezing in Kyiv.
I feel no regret about the dismissal of sports reporters.
Melania ticket sales [Richard Stallman's Political Notes]
It appears that someone is buying up large blocks of tickets to the movie Melania and giving them away to groups. Most of them never actually get used, but they inflate the apparent popularity of the movie.
Nothing means what it pretends to mean when the bullshitter and the billionaires get together.
Urgent: Cryptocurrency oversight [Richard Stallman's Political Notes]
US citizens: call on your senators to block corruptive bills about cryptocurrency.
See the instructions for how to sign this letter campaign without running any nonfree JavaScript code--not trivial, but not hard.
Slog AM: ICE Out of MN, Seattle Hosts Big-Ass Parade, Bondi Snubs Epstein Survivors [The Stranger]
The Stranger's morning news roundup. by Micah Yip
Thank Fuck: After two months of federal officers terrorizing, brutalizing, arresting, and killing people in Minneapolis, the Trump administration will end its “largest immigration enforcement operation ever,” border czar Tom Homan announced today. Homan touted the whole operation as a win that leaves Minnesota safer, “less of a sanctuary state for criminals.” A win? After two months of arresting more than 4,000 people, killing Alex Pretti and Renee Good, causing mass protests? The surge leaves Minnesota shaken, not safer. And though that operation is ending, immigration enforcement will continue, Homan pledged.
A Big-Ass Parade: I don’t give a fuck about football. But I have to say, the Seahawks’ massive party downtown yesterday sounded pretty sick. The team was paraded down Fourth Avenue in big military transport trucks, starting near Lumen Field and ending near the Space Needle, as an estimated 750,000 to 1 million cheered them on. People of all ages came from all over the state, with some claiming spots on the street the night before.
We Posted Some Rad Photos on Our Instagram Yesterday: Check ‘em out.
View this post on Instagram
DwTF (Down With the Fence): Remember when the city fenced off Seven Hills Park in September due to homeless encampments? That park will finally reopen on February 26, park department officials said at a community meeting Tuesday night. There are plans for a new sign, “human and hound fitness installations” (which sound suspiciously furry-coded), and a little facelift, fixing infrastructure and trimming trees. Why they couldn’t do that while keeping the space open is a mystery. It’s not like the fence kept people out, meeting attendees said.
Gallup Gallops Away: From tracking presidential approval ratings, that is. Gallup announced yesterday that after 88 years, it will no longer measure presidential approval. The switch comes as President Donald Trump continues throwing temper tantrums over any media outlet/poll/person/anything that’s less than fawning, reality be damned (Trump’s Gallup approval rating fell to 36 percent in December). Still, Gallup insisted its decision was “solely based on Gallup’s research goals and priorities.” It sucks though — the Gallup Presidential Approval Rating is one of the most cited measurements of public opinion on presidents since Harry Truman was in office, The Guardian reported.
Gallup Has Scaled Back for Trump Before: In 2017, Gallup went from daily to weekly presidential approval tracking. A year later, they went down to monthly.
If you saw today's headline that Gallup will stop measuring presidential approval, they did the same thing in 2018. They do it whenever Trump is president.
— Brandon Friedman (@brandonfriedman.bsky.social) February 11, 2026 at 11:27 AM
[image or embed]
Two Actors Died: James Van Der Beek, known for his roles in Dawson’s Creek and Varsity Blues, died yesterday morning after battling stage 3 colorectal cancer. He was 48. Bud Cort, known for starring in Harold and Maude, also died yesterday after a long illness. He was 77.
Weather: Mostly cloudy with a high of 53. The sun will slowly break through as the day progresses. Tonight, temps will drop to a low of 43. There’s a 30 percent chance of rain.
Pam Bondi’s Testimony: Attorney General Pam Bondi hurled insults and dodged questions at yesterday’s House Judiciary hearing on her mishandling of the Epstein files. The stand out moment was when Washington Rep. Pramila Jayapal asked Epstein’s victims in the audience to stand and raise their hands if they had not been able to get an appointment with the DOJ. All of them did.
This photo of Attorney General Pam Bondi looking down after the Epstein survivors in the room were asked to raise their hands if the current Justice Department has failed to speak with them is some fine photojournalism.
AP Photo by Tom Brenner.
Story: www.mississippifreepress.org/bondi-clashe...
— Ashton Pittman (@ashtonpittman.bsky.social) February 12, 2026 at 8:11 AM
[image or embed]
What I Learned About Bondi from The Atlantic’s New Article: (1) Earlier in life, she was allegedly once so kindhearted she earned the nickname “Pambi,” like “Bambi.” (2) Foreshadowing her transformation from Pambi to MAGA ghoul, she once refused to return a dog she adopted to its rightful family, even after the four-year-old grandson begged her to. She instead hired a lawyer and accused the family of abusing the dog. (3) She has called reporters crying and begging them not to publish stories about her. There’s a lot more you should read.
This is some genuinely psycho shit...
— brian pillion (@anaphoristand.bsky.social) February 11, 2026 at 12:02 PM
[image or embed]
Amtrak Death: An Amtrak train on route from Portland to Seattle struck and killed a person south of Tukwila at about 9 p.m. Wednesday evening. Nobody on the train was injured.
Jaahnavi Kandula: The city will pay a $29 million settlement to the family of Jaahnavi Kandula, the 23-year-old graduate student from India struck and killed by a speeding Seattle officer Kevin Dave at a South Lake Union crosswalk in 2023. Dave was going 50 miles over the speed limit. He was cited for negligent driving, paid a $5,000 fine, and subsequently fired from the department, but was never criminally charged. The Seattle Times has the story.
False Alarm: Or should I say “False Package”? Yesterday, the 1 Line’s Lynnwood City Center Station closed around 5 p.m. while authorities responded to a report of a “suspicious package.” Riders were asked to leave the station and the King County Sheriff’s Office dispatched its K-9 bomb detection unit to the scene. But they didn’t find anything, and the station reopened about an hour later.
To the woman I saw belting “Pink Pony Club” on a Lime scooter late Sunday night in Capitol Hill, this one’s for you:
I understood the web because I understood Unix and missed it.
[$] Poisoning scraperbots with iocaine [LWN.net]
Web sites are being increasingly beset by AI scraperbots — a problem that we have written about before, and which has slowly ramped up to an occasional de-facto DDoS attack. This has not gone uncontested, however: web site operators from around the world have been working on inventive countermeasures. These solutions target the problem posed by scraperbots in different ways; iocaine, a MIT-licensed nonsense generator, is designed to make scraped text less useful by poisoning it with fake data. The hope is to make running scraperbots not economically viable, and thereby address the problem at its root instead of playing an eternal game of Whac-A-Mole.
[$] The reverting of revocable [LWN.net]
Transient devices pose a special challenge for an operating-system kernel. They can disappear at any time, leaving behind kernel data structures that no longer refer to an existing device, but which may still be in use by unknown kernel code. Managing the resulting lifecycle issues has frustrated kernel developers for years. In September 2025, the revocable resource-management patch series from Tzung-Bi Shih appeared to offer a partial solution to this problem. Since then, though, other problems have arisen, and the planned merging of this series into the 7.0 release has been called off.
If you're a FeedLand user and
have the technical ability to install a Docker app, even on a local
computer not on the net, you could help the project by trying the
new
Docker version. Think of FeedLand as something like Mastodon or
WordPress, server apps that we hope many people will install on
their own. I am doing that now, with the blogroll on Scripting News
and various news sites running in front of my own FeedLand
instance. And the various instances can communicate with each
other. Scott worked really hard to make setting up a new instance
much easier than it was. It's an open source project, so you can
feel good by helping. You're helping the web, and helping bootstrap
a new feediverse. And if you
have a few hours to give it a try, maybe much less, you would be
doing a good thing.
Dirk Eddelbuettel: RcppSpdlog 0.0.27 on CRAN: C++20 Accommodations [Planet Debian]

Version 0.0.27 of RcppSpdlog arrived on CRAN moments ago, and will be uploaded to Debian and built for r2u shortly. The (nice) documentation site will be refreshed too. RcppSpdlog bundles spdlog, a wonderful header-only C++ logging library with all the bells and whistles you would want that was written by Gabi Melman, and also includes fmt by Victor Zverovich. You can learn more at the nice package documention site.
Brian Ripley has now turned C++20 on as a default for R-devel
(aka R 4.6.0 ‘to be’), and this turned up misbehvior in
packages using RcppSpdlog such as
our spdl wrapper
(offering a nicer interface from both R and C++) when relying on
std::format. So for now, we turned this off and remain
with fmt::format from the fmt library while we
investigate further.
The NEWS entry for this release follows.
Changes in RcppSpdlog version 0.0.27 (2026-02-11)
- Under C++20 or later, keep relying on
fmt::formatuntil issues experienced usingstd::formatcan be identified and resolved
Courtesy of my CRANberries, there is also a diffstat report detailing changes. More detailed information is on the RcppSpdlog page, or the package documention site.
This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. If you like this or other open-source work I do, you can sponsor me at GitHub.
Debian DFSG Team announces new dashboard and queue processes [LWN.net]
Reinhard Tartler of Debian's new DFSG, Licensing & New Packages Team, or simply "DFSG Team", has announced that the team is now operational and is deploying new tooling to improve the NEW queue experience for Debian developers and maintainers.
Our primary and immediate goal is simple: get the queue down.
We are currently settling in and refining our processes to ensure stability and consistency. While our focus right now is on clearing the backlog, our long-term vision is to enable all Debian Developers to meaningfully contribute to DFSG reviewing activities, distributing the workload and knowledge more effectively across the project.
The announcement includes information on the new dashboard for packages in the NEW queue, the rationale for the new tooling, and an introduction to the members of the team.
A single stable kernel for Thursday [LWN.net]
Greg Kroah-Hartman has released the 6.12.71 stable kernel. He
writes, "All users of the 6.12 kernel series that had issues
with 6.12.69 or 6.12.70 should upgrade, as some regressions are
fixed here.
"
Security updates for Thursday [LWN.net]
Security updates have been issued by AlmaLinux (brotli, git-lfs, image-builder, kernel, keylime, libsoup3, and pcs), Fedora (chromium, gnutls, osslsigncode, and p11-kit), Mageia (golang, libpng, thunderbird, and xrdp), Red Hat (git-lfs, go-toolset:rhel8, golang, golang-github-openprinting-ipp-usb, osbuild-composer, and toolbox), Slackware (gnutls and libpng), SUSE (apptainer, cockpit, cockpit-packages, cockpit-subscriptions, freerdp2, gimp, glib2, go, go1.24, go1.25, gpg2, ImageMagick, java-1_8_0-openjdk, kernel, keylime-config, keylime-ima-policy, lemon, libp11-kit0, libsoup, libsoup-2_4-1, libxml2, libxml2-16, munge, nodejs20, nvidia-modprobe.cuda, nvidia-open-driver-G06-signed, nvidia-persistenced.cuda, openQA, orthanc, gdcm, orthanc-authorization,, python-brotlipy, python-Django, python-maturin, python-pyasn1, python-urllib3, python-wheel, python313-wheel, qemu, rust-keylime, sqlite3, uriparser, wicked2nm, and xrdp), and Ubuntu (libtasn1-6, libwebsockets, libxmltok, linux, linux-aws, linux-gcp, linux-gke, linux-gkeop, linux-hwe-5.15, linux-ibm, linux-ibm-5.15, linux-lowlatency, linux-lowlatency-hwe-5.15, linux, linux-raspi, linux, linux-raspi, linux-realtime, linux-aws, linux-aws-6.8, linux-gcp, linux-gcp-6.8, linux-ibm, linux-ibm-6.8, linux-lowlatency-hwe-6.8, linux-aws-5.15, linux-gcp-5.15, linux-nvidia-tegra-igx, linux-oracle-5.15, linux-xilinx-zynqmp, linux-aws-fips, linux-fips, linux-gcp-fips, linux-gcp, linux-gcp-6.8, linux-gcp-fips, linux-intel-iot-realtime, linux-realtime, linux-nvidia-tegra, linux-nvidia-tegra-5.15, linux-realtime-6.8, linux-xilinx-zynqmp, and python-multipart).
When I was a kid I had a penpal in Scotland. It was kind of interesting but after a while it became tiresome. One time I got a letter from my penpal with the usual stuff, school, sports, the Beatles, other kids, but this time there was no mention about how stupid the adults were. I found out why at the end in a PS. "Sometimes my mom writes these for me." Obviously I never forgot this.
Here's proof that ChatGPT, intelligent or not, listens to me.
I no longer even think of debating whether the AIs are intelligent. I might as well argue about your intelligence, or even my own. We have no idea what intelligence is or how to test for it. So if you think you're so intelligent and you say things like "AIs aren't intelligent" as if it were an indisputable fact, well I'm pretty sure that proves you are not actually very intelligent, which indicates how intelligent I am (not). And if you're worried about what happens if you stop insisting that AIs aren't intelligent, you can relax, nothing depends on what you or I or anyone else thinks about that, or pretty much anything. Have a nice day.
CodeSOD: Consistently Transactional [The Daily WTF]
It's always good to think through how any given database
operation behaves inside of a transaction. For example,
Faroguy inherited a Ruby codebase which was mostly
db.execute("SOME SQL") without any transactions at
all. This caused all sorts of problems with half-finished
operations polluting the database.
Imagine Faroguy's excitement upon discovering a function called
db_trans getting called in a few places. Well, one
place, but that's better than none at all. This clearly must mean
that at least one operation was running inside of a
transaction, right?
def self.db_trans(db,stmt)
db.execute(stmt)
end # self.db_trans
Oh.
3D Printer Surveillance [Schneier on Security]
New York is contemplating a bill that adds surveillance to 3D printers:
New York’s 20262027 executive budget bill (S.9005 / A.10005) includes language that should alarm every maker, educator, and small manufacturer in the state. Buried in Part C is a provision requiring all 3D printers sold or delivered in New York to include “blocking technology.” This is defined as software or firmware that scans every print file through a “firearms blueprint detection algorithm” and refuses to print anything it flags as a potential firearm or firearm component.
I get the policy goals here, but the solution just won’t work. It’s the same problem as DRM: trying to prevent general-purpose computers from doing specific things. Cory Doctorow wrote about it in 2018 and—more generally—spoke about it in 2011.
Grrl Power #1434 – The crushing bioweapon [Grrl Power]
I really tried to make this page and the next a double, but I ran out of time. It was, admittedly, a little bit my fault.
So, Tamer 11 came out, at least it did if you supported the Kickstarter. If you didn’t, you can buy it off MSE’s site in a few months I think. Now, I didn’t read it during the day while I should have been working, but I did maybe accidentally stay up till 4 am reading it one night, and let me tell you, one of the best ways to supercharge ADHD is to throw a little sleep deprivation in. I was not super productive the next day. Fortunately I finished the book the next night, and before 3 am too, so… all good, right?
Okay, hear me out. The day after Tamer 11 came out, the
next book in The Vixen War Bride series dropped. I
didn’t even know the series was continuing after the first
story wrapped. VWB is one of my favorite xenoanthropology sci-fi
books, by which I mean it changes PoV between human and
“alien” characters and both sides have their little
thoughts about how odd the other is. By the start of this book, the
story is past the “nobody speaks the others’ language
and hilarious misunderstandings ensue,” trope, and kind of
oddly, this story is more of a murder mystery.
So naturally I also had to read that as soon as I finished Tamer. I didn’t stay up till 4 am again. It might not have been physically possible for me at that point, but still I finished that book in 3 days.
Then there was Good Intentions Book 5, A.K.A. Devil In the Details, then The Doctor from Nowhere, Book 2, which is a Russian translated Isekai about a modern Russian surgeon getting blowed up in… uh, Afghanistan, or somewhere, doesn’t matter, and waking up in the body of a recently deceased (or so they thought) Russian soldier in, a slightly alternate history 1914 or thereabouts? It’s pretty well written and translated. The MC does kind of win at everything super hard, and there’s a little bit of Russian jingoism in there, which I suppose I can’t fault the author for. There’s just a few “Russia’s not quite the shitshow everyone seems to think” rants. It’s not pervasive. Then after that was Taroniah & Kyron Unite (Ithria Book 15). Ithria is a bit of an odd series, because the books alternate between Taroniah the sorceress and Kyron the swordsman, and I’ve skipped all the Kyron books cause… I don’t know, the stuff about the sorceress sounded more interesting.
So I had a bit of a reading dry spell for a few months it seemed, then 5 series I’ve been reading hit all at once. Especially Tamer and VWB. You guys know I enjoy Tamer. And I’m bad at pacing myself. So, sorry the page isn’t a little more… you know, “Grrl Power-y 9 panels when there should have only been 5.” (TM) Just trying to work the average back in the other direction? Yeah, I didn’t buy that either.
Here is Gaxgy’s painting Maxima promised him. Weird how he draws
almost exactly like me.
I did try and do an oil painting version of this, by actually re-painting over the whole thing with brush-strokey brushes, but what I figured out is that most brushy oil paintings are kind of low detail. Sure, a skilled painter like Bob Ross or whoever can dab a brush down a canvas and make a great looking tree or a shed with shingles, but in trying to preserve the detail of my picture (eyelashes, reflections, etc) was that I had to keep making the brush smaller and smaller, and the end result was that honestly, it didn’t really look all that oil-painted. I’ll post that version over at Patreon, just for fun, but I kind of quit on it after getting mostly done with re-painting Max.
Patreon has a no-dragon-bikini version of of the picture as well, naturally.
Double res version will be posted over at Patreon. Feel free to contribute as much as you like.
There is plenty of unintentional harm in our world. We’ve all been bruised or derailed by someone who had no ill intent.
We often respond with intentional harm, to make a point and to teach a lesson.
The alternative is clarity. Shared understanding instead of intentional pain.
Tap is going to keep coming. It’s the tip that’s up to us.
Freexian Collaborators: Debian Contributions: cross building, rebootstrap updates, Refresh of the patch tagging guidelines and more! (by Anupa Ann Joseph) [Planet Debian]

Contributing to Debian is part of Freexian’s mission. This article covers the latest achievements of Freexian and their collaborators. All of this is made possible by organizations subscribing to our Long Term Support contracts and consulting services.
In version 1.10.1, Meson merged a patch to make it call the
correct g-ir-scanner by default thanks to Eli Schwarz.
This problem affected more than 130 source packages. Helmut retried
building them all and filed 69 patches as a result. A significant
portion of those packages require another Meson change to call
the correct vapigen. Another notable change is
converting gnu-efi to
multiarch, which ended up requiring changes to a number of
other packages. Since Aurelien dropped the
libcrypt-dev dependency from libc6-dev,
this transition now is mostly complete and has resulted in most of
the Perl ecosystem correctly expressing perl-xs-dev
dependencies needed for cross building. It is these infrastructure
changes affecting several client packages that this work targets.
As a result of this continued work, about 66% of Debian’s
source packages now have satisfiable cross Build-Depends in
unstable and about 10000 (55%) actually can be cross built. There
are now more than 500 open
bug reports affecting more than 2000 packages most of which
carry patches.
Maintaining architecture cross-bootstrap requires continued
effort for adapting to archive changes such as glib2.0
dropping a build profile or an e2fsprogs FTBFS. Beyond those generic
problems, architecture-specific problems with e.g.
musl-linux-any or sparc may arise. While
all these changes move things forward on the surface, the bootstrap
tooling has become a growing pile of patches. Helmut managed to
upstream two changes to glibc for reducing its
Build-Depends in the stage2 build profile
and thanks Aurelien Jarno.
Debian Enhancement Proposal #3 (DEP-3) is named “Patch Tagging Guidelines” and standardizes meta-information that Debian contributors can put in patches included in Debian source packages. With the feedback received over the years, and with the change in the package management landscape, the need to refresh those guidelines became evident. As the initial driver of that DEP, I spent a good day reviewing all the feedback (that I kept in a folder) and producing a new version of the document. The changes aim to give more weight to the syntax that is compatible with git format-patch’s output, and also to clarify the expected uses and meanings of a couple of fields, including some algorithm that parsers should follow to define the state of the patch. After the announcement of the new draft on debian-devel, the revised DEP-3 received a significant number of comments that I still have to process.
debvm making it work with unstable
as a target distribution again.rocblas package to
forky.publican and did some maintenance for
tracker.debian.org.festival Debian
package for
systemd socket activation and
systemd service and socket units. Adapted the patch for
upstream and created a merge
request (also fixed a MacOS X
building system error while working on it). Updated Orca Wiki documentation
regarding festival.
Discussed a 2007 bug/feature in festival which allowed having a
local shell and that the new systemd socket activation has the same
code path.abcde” package.python3-defaults and
dh-python in support of Python 3.14-as-default in
Ubuntu. Also investigated the risk of ignoring byte-compilation
failures by default, and started down the road of implementing
this.python-virtualenv and
python-flexmock.knot-dns and knot-resolver are also less
complex software, which results in advantages in terms of security:
only three CVEs have been reported for knot-dns since 2011).pkg_resources module.groff 1.24.0 (the first upstream release since
mid-2023, so a very large set of changes) into experimental.ruby-rbpdf, jekyll,
origami-pdf, ruby-kdl,
ruby-twitter, ruby-twitter-text,
ruby-globalid.Pluralistic: Doctors' union may yet save the NHS from Palantir (12 Feb 2026) [Pluralistic: Daily links from Cory Doctorow]
->->->->->->->->->->->->->->->->->->->->->->->->->->->->->
Top Sources: None -->

If you weren't paying close attention, you might think that the most grotesque and indefensible aspect of Keir Starmer's Labour government turning over NHS patient records to the American military contractor Palantir is that Palantir are Trumpist war-criminals, "founded to kill communists":
https://www.thecanary.co/trending/2026/01/07/palantir-kill-communists/
And that is indeed grotesque and indefensible, and should have been grounds for Starmer being forced to resign as PM long before it became apparent that he stuffed his government with Epstein's enablers and chums:
But it's actually much worse than that! It's not just that Labour hand over Britain's crown jewels to rapacious international criminals who are deeply embedded in a regime that has directly threatened the sovereignty of the UK. They also passed up a proven, advanced, open, safe, British alternative: the OpenSAFELY initiative, developed by Ben Goldacre and his team at Jesus College Oxford:
OpenSAFELY is the latest iteration of Goldacre's Trusted Research Environment (TRE), arguably the most successful patient record research tool ever conceived. It's built atop a special server that can send queries to each NHS trust, without ever directly accessing any patient data. Researchers formulate a research question – say, an inquiry into the demographics of the comorbidities of a given disease – and publish it using a modified MySQL syntax on a public git server. Other researchers peer-review the query, assessing it for rigour, and then the TRE farms that query out to each NHS trust, then aggregates all the responses and publishes it, either immediately or after a set period.
This is a fully privacy-preserving, extremely low-cost, rapid way for researchers to run queries against the full load of NHS patient records, and holy shit does it ever work. By coincidence, it went online just prior to the pandemic, and it enabled an absolute string of blockbuster papers on covid, dozens of them, including several in leading journals like Nature:
https://www.digitalhealth.net/2022/04/goldacre-trusted-research-environments/
This led HMG to commission Goldacre to produce a report on the use of TREs as the permanent, principal way for medical researchers to mine NHS data (disclosure: I was interviewed for this report):
This is a near-miraculous system: an ultra-effective, ultra-cost-effective, Made-in-Britain, open, transparent, privacy-preserving, rigorous way to produce medical research insights at scale, which could be perfected in the UK and then exported to the world, getting better every time a new partner signs on and helps shoulder the work of maintaining and improving the free/open source software that powers it.
OpenSAFELY was the obvious contender for NHS research. But it wasn't the only one: in the other corner was Palantir, a shady American company best known for helping cops and spies victimise people on the basis of dodgy statistics. Palantir blitzed Westminster with expensive PR and lobbying, and embarked on a strategy to "hoover up" every small NHS contractor until Palantir was the last company standing. Palantir UK boss Louis Moseley called it "Buying our way in":
https://pluralistic.net/2022/10/01/the-palantir-will-see-you-now/#public-private-partnership
It worked. First, Palantir got £60m worth of no-bid contracts during the acute phase of the pandemic, and then it bootstrapped that into a £330m contract to handle all the NHS England data:
https://www.theregister.com/2023/11/22/palantir_wins_nhs_contract/
It was a huge win for corruption over excellence and corporate surveillance over privacy. At the same time, it was a terrible blow to UK technological sovereignty, and long-term trust in the NHS.
But that's not where it ended. Palantir continued its wildly profitable, highly public programme of collaborating with fascists – especially Trump's ICE kill/snatch-squads – further trashing its reputation around the world. It's now got so bad that the British Medical Association (BMA) – a union representing more than 200,000 UK doctors – has told its members that they should not use the Palantir products that the NHS has forced onto their practices:
https://www.bmj.com/content/392/bmj.s168/rr-2
In response, an anonymous Palantir spokesperson told The Register that Britons should trust its software because the company is also working with British police forces:
https://www.theregister.com/2026/02/11/bma_palantir_nhs/
The BMA is a very powerful, militant union, and it has already run successful campaigns against Starmer's government that forced Labour to shore up its support for the NHS. The fact that there's a better, cheaper, more effective, technologically sovereign tool that HMG has already recognised only bolsters the union's case for jettisoning Palantir's products altogether.
(Image: Gage Skidmore, CC BY 2.0, modified)

Auspicious Omens and Excellent Insubordination https://www.meditationsinanemergency.com/auspicious-omens-and-excellent-insubordination/
Olympic Spirits on ICE https://prospect.org/2026/02/11/feb-2026-magazine-sports-olympic-spirits-on-ice-los-angeles/
Bracing for the Enshittification of Embodied AI and Robotics https://sites.google.com/view/bracing-for-enshittification
Joshua Idehen – Once in a lifetime (Talking Heads/Angélique Kidjo) https://www.youtube.com/watch?v=xQG5zN8QOAs
#20yrsago Google Video DRM: Why is Hollywood more important than users? https://memex.craphound.com/2006/02/13/google-video-drm-why-is-hollywood-more-important-than-users/
#20yrsago Phishers trick Internet “trust” companies https://web.archive.org/web/20060222232249/http://blog.washingtonpost.com/securityfix/2006/02/the_new_face_of_phishing_1.html
#15yrsago With a Little Help: first post-publication progress report https://www.publishersweekly.com/pw/by-topic/columns-and-blogs/cory-doctorow/article/46105-with-a-little-help-the-early-returns.html
#15yrsago Nokia’s radical CEO has a mercenary, checkered past https://web.archive.org/web/20100608100324/http://www.siliconbeat.com/2008/01/11/microsoft-beware-stephen-elop-is-a-flight-risk/
#15yrsago Scientology’s science fictional origins: thesis from 1981 https://web.archive.org/web/20110218045653/http://digitalcommons.mcmaster.ca/opendissertations/126/
#10yrsago I was a Jeopardy! clue https://memex.craphound.com/2016/02/13/i-was-a-jeopardy-clue/
#10yrsago Liberated Yazidi sex slaves become a vengeful, elite anti-ISIS fighting force https://www.independent.co.uk/news/world/middle-east/isis-yazidi-sex-slaves-take-up-arms-for-mosul-fight-to-bring-our-women-home-a6865056.html
#10yrsago Listen: a new podcast about science fiction and spectacular meals https://www.scottedelman.com/2016/02/10/the-first-episode-of-eating-the-fantastic-with-guest-sarah-pinsker-is-now-live/
#10yrsago Politician given green-light to name developer’s new streets with synonyms for greed and deceit https://web.archive.org/web/20160213001324/http://www.capitalnewyork.com/article/city-hall/2016/02/8590908/staten-island-borough-president-gets-approval-name-new-streets-gre
#5yrsago $50T moved from America's 90% to the 1% https://pluralistic.net/2021/02/13/data-protection-without-monopoly/#inequality
#5yrsago Broad Band https://pluralistic.net/2021/02/13/data-protection-without-monopoly/#broad-band
#5yrsago Privacy Without Monopoly https://pluralistic.net/2021/02/13/data-protection-without-monopoly/#comcom
#1yrago Premature Internet Activists https://pluralistic.net/2025/02/13/digital-rights/#are-human-rights

Montreal (remote): Fedimtl, Feb 24
https://fedimtl.ca/
Oslo (remote): Seminar og lansering av rapport om
«enshittification»
https://www.forbrukerradet.no/siste-nytt/digital/seminar-og-lansering-av-rapport-om-enshittification/
Victoria: 28th Annual Victoria International Privacy &
Security Summit, Mar 3-5
https://www.rebootcommunications.com/event/vipss2026/
Berkeley: Bioneers keynote, Mar 27
https://conference.bioneers.org/
Berlin: Re:publica, May 18-20
https://re-publica.com/de/news/rp26-sprecher-cory-doctorow
Berlin: Enshittification at Otherland Books, May 19
https://www.otherland-berlin.de/de/event-details/cory-doctorow.html
Hay-on-Wye: HowTheLightGetsIn, May 22-25
https://howthelightgetsin.org/festivals/hay/big-ideas-2
America's Enshittification is Canada's Opportunity (Do Not Pass
Go)
https://www.donotpassgo.ca/p/americas-enshittification-is-canadas
Everything Wrong With the Internet and How to Fix It, with Tim
Wu (Ezra Klein)
https://www.nytimes.com/2026/02/06/opinion/ezra-klein-podcast-doctorow-wu.html
How the Internet Got Worse (Masters in Business)
https://www.youtube.com/watch?v=auXlkuVhxMo
Enshittification (Jon Favreau/Offline):
https://crooked.com/podcast/the-enshittification-of-the-internet-with-cory-doctorow/
"Enshittification: Why Everything Suddenly Got Worse and What to
Do About It," Farrar, Straus, Giroux, October 7 2025
https://us.macmillan.com/books/9780374619329/enshittification/
"Picks and Shovels": a sequel to "Red Team Blues," about the heroic era of the PC, Tor Books (US), Head of Zeus (UK), February 2025 (https://us.macmillan.com/books/9781250865908/picksandshovels).
"The Bezzle": a sequel to "Red Team Blues," about prison-tech and other grifts, Tor Books (US), Head of Zeus (UK), February 2024 (thebezzle.org).
"The Lost Cause:" a solarpunk novel of hope in the climate emergency, Tor Books (US), Head of Zeus (UK), November 2023 (http://lost-cause.org).
"The Internet Con": A nonfiction book about interoperability and Big Tech (Verso) September 2023 (http://seizethemeansofcomputation.org). Signed copies at Book Soup (https://www.booksoup.com/book/9781804291245).
"Red Team Blues": "A grabby, compulsive thriller that will leave you knowing more about how the world works than you did before." Tor Books http://redteamblues.com.
"Chokepoint Capitalism: How to Beat Big Tech, Tame Big Content, and Get Artists Paid, with Rebecca Giblin", on how to unrig the markets for creative labor, Beacon Press/Scribe 2022 https://chokepointcapitalism.com
"Enshittification, Why Everything Suddenly Got Worse and What to Do About It" (the graphic novel), Firstsecond, 2026
"The Post-American Internet," a geopolitical sequel of sorts to Enshittification, Farrar, Straus and Giroux, 2027
"Unauthorized Bread": a middle-grades graphic novel adapted from my novella about refugees, toasters and DRM, FirstSecond, 2027
"The Memex Method," Farrar, Straus, Giroux, 2027
Today's top sources:
Currently writing: "The Post-American Internet," a sequel to "Enshittification," about the better world the rest of us get to have now that Trump has torched America (1006 words today, 27741 total)
"The Post-American Internet," a short book about internet policy in the age of Trumpism. PLANNING.
A Little Brother short story about DIY insulin PLANNING

This work – excluding any serialized fiction – is licensed under a Creative Commons Attribution 4.0 license. That means you can use it any way you like, including commercially, provided that you attribute it to me, Cory Doctorow, and include a link to pluralistic.net.
https://creativecommons.org/licenses/by/4.0/
Quotations and images are not included in this license; they are included either under a limitation or exception to copyright, or on the basis of a separate license. Please exercise caution.
Blog (no ads, tracking, or data-collection):
Newsletter (no ads, tracking, or data-collection):
https://pluralistic.net/plura-list
Mastodon (no ads, tracking, or data-collection):
Medium (no ads, paywalled):
Twitter (mass-scale, unrestricted, third-party surveillance and advertising):
Tumblr (mass-scale, unrestricted, third-party surveillance and advertising):
https://mostlysignssomeportents.tumblr.com/tagged/pluralistic
"When life gives you SARS, you make sarsaparilla" -Joey "Accordion Guy" DeVilla
READ CAREFULLY: By reading this, you agree, on behalf of your employer, to release me from all obligations and waivers arising from any and all NON-NEGOTIATED agreements, licenses, terms-of-service, shrinkwrap, clickwrap, browsewrap, confidentiality, non-disclosure, non-compete and acceptable use policies ("BOGUS AGREEMENTS") that I have entered into with your employer, its partners, licensors, agents and assigns, in perpetuity, without prejudice to my ongoing rights and privileges. You further represent that you have the authority to release me from any BOGUS AGREEMENTS on behalf of your employer.
ISSN: 3066-764X
Easier to fire US government employees [Richard Stallman's Political Notes]
The corruptor has changed the rules to make it easier to fire some US government employees and to weaken protection for whistleblowers who report corruption.
He wouldn't want them to dare reporting corruption, in case it is his corruption.
Facebook ads for deportation thugs [Richard Stallman's Political Notes]
Facebook is running ads for the deportation thugs, ads that *included imagery and music intended to appeal to white nationalists and neo-Nazis.*
Israel accused of spraying cancer-linked herbicide [Richard Stallman's Political Notes]
*Israel accused of spraying cancer-linked herbicide on farms in southern Lebanon.*
We can reverse America's decline [Richard Stallman's Political Notes]
Bernie Sanders: *We can reverse America's decline.*
Facial recognition used to accuse person of shoplifting [Richard Stallman's Political Notes]
A British supermarket accused a customer of shoplifting based on a reported face recognition match — in fact, it had accused the wrong person — and then demanded he run nonfree software to clear his name.
That was successful, since the database had no record of his face. But if that error had happened to me, since I would not run that nonfree software, I think would have not been able to clear my name.
Peter Mandelson asked Epstein for help in 2010 [Richard Stallman's Political Notes]
Peter Mandelson, a clear example of the sort of sell-out to business that had come to fill the Labour Party leadership, asked Epstein for help in 2010 in angling for contracting work for both Billionaire Polluters and Glencore. BP is, of course, a fossil fuel company. Glencore mines and trades various commodities, including oil.
The enablers of these companies are contributing to harm—possibly deadly harm—to over a hundred million female teenagers, a like number of male teenagers, as well as around eight billion children and adults. No one on Earth is safe.
(satire) AI Chatbot that only responds with "huh" [Richard Stallman's Political Notes]
(satire) *AI Chatbot That Only Responds "Huh" Valued At $200 Billion.*
Long Island hotter in winter [Richard Stallman's Political Notes]
Long Island has got 5°F hotter in the winter (on the average) since 55 years ago. This leads to various dangers to human health, wildlife, homes, and farms, including the spread of insect pests as well as weather itself.
Measles in US deportation prison for children [Richard Stallman's Political Notes]
The US has deportation prisons for children, and thanks to RFK jr, one of them is spreading measles.
Families of Americans killed by Israel [Richard Stallman's Political Notes]
*Families of Americans killed by Israel face uphill climb to justice.*
Wood burned in Drax electric generator [Richard Stallman's Political Notes]
The executives of the Drax electric generator insisted that the wood it burns came only from young, renewable trees, but in private many of them recognized that was false.
Boos for Vance at Olympic Games [Richard Stallman's Political Notes]
Vance was presented at the Olympic Games, and received more boos than applause. But NBC News hid the boos, in its broadcast stream. And the White House promoted that falsified broadcast.
This sort of lie is not as directly harmful as some other lies, but engaging in it proves NBC News is corrupt.
Intelligence files of journalists investigating thinktank [Richard Stallman's Political Notes]
A thinktank that helped Starmer win leadership of the Labour Party was headed by a minister of state, who received secret intelligence files about journalists investigating the actions of that thinktank.
This looks like corruption of the state's mission for partisan purposes, and Starmer ought to resign for that.
Together is our message [Scripting News]

Social Housing, Coming Soon to a Neighborhood Near You [The Stranger]
After three years, two ballot measures and Tuesday’s City Council vote, Seattle is one step closer to being a more affordable city. by Micah Yip
After three years, two ballot measures and Tuesday’s City Council vote, Seattle is one step closer to being a more affordable city.
On Tuesday night, Seattle Social Housing (SSHD) hosted an event featuring Mayor Katie Wilson, announcing the organization will be receiving $115 million through a voter-approved tax to build and buy buildings for affordable public housing. Rent is tied to the resident’s income. And because the buildings are mixed income, wealthier residents subsidize the cost. Earlier that day, City Council voted to turn on the tap, unanimously passing the interlocal agreement for the collection and disbursement of the funds between the city and SSHD.
“There is a lot of wealth in the city, and we continue to have one of the most regressive tax systems in the country, in the state,” said Wilson. “And it is very gratifying to know that we’re going to be able to use a little bit of that wealth and put it to work building housing.”
February must be a lucky month for housing in Seattle. In February 2023, Seattle voters passed I-135, which basically asked Seattle voters, “Hey, do you want us to form a social housing developer?” and Seattle said “yes.”
Then, in February last year, the city presented voters with two options to fund social housing: Prop 1A, a 5 percent tax on companies for each employee making more than $1 million per year; or Prop 1B, which wouldn’t create a new tax, but siphon $10 million per year from the Jumpstart payroll tax for only five years. Seattle passed Prop 1A.
SSHD’s interim CEO Tiffani McCoy announced that an estimated 170 companies in the city are subject to the tax, $115 million in the 2025 fiscal year—a figure far greater than the original estimate of $50 million.
Social housing is a new concept in Seattle, deviating from our profit-driven housing market that’s widely inaccessible for low- and middle-income people. Rents are meant to remain permanently affordable, with a target goal of around 30 percent of a person’s income. And it’s been successfully implemented in places like Vienna, Austria, Finland and Singapore. In the United States, only Seattle and Montgomery County, Maryland have taken the leap.
“Our main objective isn’t profit and we’re not determined by the markets that other, private landlords are,” SSHD spokesperson Lilly Fowler told The Stranger.
Maybe you’re wondering if you can be one of those hundreds benefitting from social housing this year. You could be, if you make anywhere up to 120 percent of the area’s median income (AMI). Fowler says they estimate the first building will open in about six months. You can register to stay updated here.
“In a moment when housing costs continue to rise and
displacement pressures remain real, social housing is going to give
us a tool that can match the scale of the problem,” Wilson
said.
Correction: This article has been updated since publication. We
incorrectly stated that the city had collected $115 million in the
last month of 2025. It had begun collecting funds from the 2025 tax
year last month (January 2026). We also inaccurately stated that
rent for these buildings would be capped at 30 percent. The target
is around 30 percent of a tenant's income, but it's not legally
mandated. We regret the errors.
[$] LWN.net Weekly Edition for February 12, 2026 [LWN.net]
Inside this week's LWN.net Weekly Edition:
vindarel: 🖌️ Lisp screenshots: today's Common Lisp applications in action [Planet Lisp]
I released a hopefully inspiring gallery:
We divide the showcase under the categories Music, Games, Graphics and CAD, Science and industry, Web applications, Editors and Utilities.
Of course:
“Please don’t assume Lisp is only useful for...
thank you ;)
For more example of companies using CL in production, see this list (contributions welcome, of course).
Don’t hesitate to share a screenshot of your app! It can be closed source and yourself as the sole user, as long as it as some sort of a GUI, and you use it. Historical success stories are for another collection.
The criteria are:
Details:
You can reach us on GitHub
discussions, by email at (reverse
"gro.zliam@stohsneercs+leradniv") and in the comments.
Best,
Romancing the Tome [The Stranger]
Olivia Waite is a Seattle-based romance, sci-fi, and fantasy author, New York Times romance columnist, Jeopardy! champion, and accomplished fiber artist. I was introduced to her via her novel The Lady’s Guide to Celestial Mechanics, which is not only a beguiling sapphic love story, but also a brilliant ode to the art of science and the science of art. Her latest book, Murder by Memory, a cozy sci-fi mystery set aboard an interstellar passenger liner and the first installment in her Dorothy Gentleman series, came out last March, and the sequel Nobody’s Baby comes out next month. (She’s also currently working on releasing a knitting pattern for the fern shawl that makes a cameo in Murder by Memory.) The Stranger caught up with her about Heated Rivalry, falling in love at karaoke, and how fish-scaling can be surprisingly romantic.
How did you first fall in love with the romance
genre?
I stole my first romance novel from my mom when
I was 5. It was a Johanna Lindsey sci-fi romance, so imagine
Jupiter Ascending, but with orgasms, and my mom took it away,
because nobody wants to explain that kind of thing to a toddler. I
picked it up because the cover looked like Star Wars, which also
tracks—the whole slave Leia bikini thing was absolutely in
the marketing. And I wanted to see how it ended, so as soon as I
was old enough to get a library card, I tracked down a copy and
managed to finish it. I’ve been hooked ever since. It’s
funny, because that’s both the first romance and the first
sci-fi novel that I read.
As a romance author, what is it like to witness the
Heated Rivalry craze erupt into the mainstream right
now?
The audience reaction has been really gratifying,
and then the nonstop bad takes have been deeply irritating.
I’ve read the book [series Game Changers by Rachel Reid, from
which the show is adapted] before, and I was also a fan of
[director Jacob Tierney’s previous show] Letterkenny, so in
that slim little Venn diagram of those two things, there were,
like, five of us, and we were all so excited. People [were] like,
romance adaptations are never good, and I’m like, No, you
don’t understand this! Man will point a camera at a dude in a
flannel shirt, and you have 18 feelings about it! I think one of
the best things about it is that a lot of the conversations, even
the difficult ones, have been very productive. People in very
closeted industries who can’t come out are finding ways to
talk about that with people that they know.
What adaptations would you like to see follow in
the wake of its success?
I want the Alyssa Cole and Beverly Jenkins books, American
historical romances specifically set around the experience of Black
Americans. Beverly Jenkins has one called Forbidden that
is set in a mining town where the machinery never stops whirring,
and the hero is a Black man who can pass as white, which means he
has access to bank accounts, so he’s helping the Black
residents of the town gain credit and build up savings in a way
that the bank wouldn’t let them. But in order to live as the
authentic Black man he actually is, he has to give that up, and
decide whether the job he’s doing is more important than his
need to be acknowledged as someone with a family connection, rather
than just a good ally. There’s part of himself that
he’s had to keep very locked down. It’s gorgeous.
There’s an old-timey baseball game, and there’s the
heroine carrying her stove as she treks across the desert.
It’s the book that made me say, God, fish-scaling is so
romantic! And no, it’s not. Beverly Jenkins, what witchcraft
is this?! I would love a big, splashy, Yellowstone-level
adaptation.
What lessons can romance teach us during this difficult
time in history?
Romance has lessons both positive and
negative. I’ve read too much about romance history to pretend
it’s all sunshine and rainbows. You get a lot of people
saying, well, romance is by women, for women, therefore it’s
automatically feminist, and, no. There are terrible and repressive
romances being written, and it’s silly to pretend
that’s not happening. But the thing that keeps me coming back
to this genre as a source of optimism and strength and resilience
is that sense that it’s an optimistic genre at its
heart—it assumes that the world is improvable, and people can
learn. People are worth keeping. They can learn better. Love is
possible, and it just might not look like what you intended.
What is one romance book you think everyone should
read?
After Hours at Dooryard Books by Cat Sebastian. It’s set in
New York, 1968. It’s about a used bookstore owner and a
down-on-his-luck mystery man. It’s also about the protests
that are happening in the Civil Rights Movement and labor issues
and queer issues in New York, and it’s an entire book list on
its own. It is so sad and so good. It feels like somebody wrote you
a love letter from 60 years ago to tell you it’s okay and
we’ve been through this before.
You mentioned over email that
you’ve submitted some Stranger valentines in
the past; can you tell us about that?
They were
actually for the man I ended up marrying. I can confirm that I met
him singing Peter Gabriel in an Irish dive bar in Fremont. It was
this absolute karaoke romance, and this guy gets up and starts
screaming, and I go, “There he is. That’s what
I’ve been waiting for.” We were dating about three
months after that, and then we were engaged within the year. Then
we spent like two and a half years planning the wedding. For those
two and a half years, when I was still in that little Fremont
apartment and just about to graduate from grad school and going to
this karaoke bar down the corner every Monday night, February would
come around, and we would send each other little notes in The
Stranger, and it was fantastic.
Nobody’s Baby is out March 10 on Tor Publishing.
The original Secure Boot certificates are about to expire, but you probably won’t notice [OSnews]
With the original release of Windows 8, Microsoft also enforced Secure Boot. It’s been 15 years since that release, and that means the original 2011 Secure Boot certificates are about to expire. If these certificates are not replaced with new ones, Secure Boot will cease to function – your machine will still boot and operate, but the benefits of Secure Boot are mostly gone, and as newer vulnerabilities are discovered, systems without updated Secure Boot certificates will be increasingly exposed.
Microsoft has already been rolling out new certificates through Windows updates, but only for users of supported versions of Windows, which means Windows 11. If you’re using Windows 10, without the Extended Security Updates, you won’t be getting the new certificates through Windows Update. Even if you use Windows 11, you may need a UEFI update from your laptop or motherboard OEM, assuming they still support your device.
For Linux users using Secure Boot, you’re probably covered by fwupd, which will update the certificates as part of your system’s update program, like KDE’s Discover. Of course, you can also use fwupd manually in the terminal, if you’d like. For everyone else not using Secure Boot, none of this will matter and you’re going to be just fine. I honestly doubt there will be much fallout from this updating process, but there’s always bound to be a few people who fall between the cracks.
All we can do is hope whomever is responsible for Secure Boot at Microsoft hasn’t started slopcoding yet.
Microsoft adds and fixes remote code execution vulnerability in Notepad [OSnews]
What happens when you slopcode a bunch of bloat to your basic
text editor? Well, you add a remote code execution vulnerability to
notepad.exe.
Improper neutralization of special elements used in a command (‘command injection’) in Windows Notepad App allows an unauthorized attacker to execute code over a network.
[…]An attacker could trick a user into clicking a malicious link inside a Markdown file opened in Notepad, causing the application to launch unverified protocols that load and execute remote files.
↫ CVE-2026-20841
I don’t know how many more obvious examples one needs to understand that Microsoft simply does not care, in any way, shape, or form, about Windows. A lot of people seem very hesitant to accept that with even LinkedIn generating more revenue for Microsoft than Windows, the writing is on the wall.
Anyway, the fix has been released through the Microsoft Store.
Linux man pages 6.17 released [LWN.net]
Version 6.17 of the Linux manual-page collection has been released. Along with a long list of updates to the man pages themselves, it includes some new utility programs of interest.
The grepc(1) program is something that originated in this project, as it helped me find code quickly in glibc and the Linux kernel. However, I've found it incredibly useful outside of this project. I'll take some space to announce it, as it's much more than just a tool for writing manual pages, and I expect it to be useful to most --if not all-- C programmers.It is a command-line tool that finds C source code (for example, a function definition) in arbitrary projects. It doesn't use any indexing mechanism (unlike ctags and similar tools). This means that it can be used right after cloning some repository, without having to first generate an index.
Swords & TV [Looking For Group]
As I dust the cobwebs off my scrivener files, one of my goals
for 2026, aside from reviving LFG, is to get back into blogging.
Sadly, it was one of the first casualties when I transitioned into
a CEO role
Read More
The post Swords & TV appeared first on Looking For Group.
Backpack Beware [The Stranger]
Signed, a former New Yorker, just trying to get home. by Anonymous
Seattle, I know you are relatively new to the public transit game, but I am BEGGING YOU to learn some basics about rush hour travel. You're relatively okay at standing to the right so people can walk by on the left on escalators, but for god's sakes, TAKE OFF YOUR BACKPACKS ON THE TRAIN!!
Picture this: It's 5 p.m., you're leaving the office. The train is packed full of tired, overworked, and underpaid people. You manage to squeeze on, only to get whacked by someone's backpack, while they are oblivious to the fact that by turning, they've turned their backpack into a weapon. You shift to the right, BAM! another backpack. You're being crushed in the doorway because you have nowhere to go. You look to the right, down the aisle, and see it looks relatively empty because everyone has their backpacks on! Each person takes up the space of two people: one space for their body and one space for their backpack.
Come on, y'all. We all want to get home. Take your backpacks off so we can fit more people on the train and not get clotheslined by a rogue backpack.
Signed,
A former New Yorker, just trying to get home
Do you need to get something off your chest? Submit an I, Anonymous and we'll illustrate it! Send your unsigned rant, love letter, confession, or accusation to ianonymous@thestranger.com. Please remember to change the names of the innocent and the guilty.
It’s Groundhog Day Again…but Worse – DORK TOWER 10/02/26 [Dork Tower]
Most DORK TOWER strips are now available as signed,
high-quality prints, from just $25! CLICK
HERE to find out more!
Also, here’s last June’s comic, so you don’t need to seek it out:
HEY! Want to help keep DORK TOWER going? Then consider joining the DORK TOWER Patreon and ENLIST IN THE ARMY OF DORKNESS TODAY! (We have COOKIES!) (And SWAG!) (And GRATITUDE!)
The Mark Of Donalds [Penny Arcade]
Time was, people would say that you had to read the newspost to know what the comic was about - like that was a bad thing! As the author of the newspost, I have a natural impetus to craft the kind of strip which requires an independent Stone of Hammurabi to help interpret it; a conceptual side order. The thing about today's strip is that you will find absolutely no succor in these words - no nourishment. It's inspiration is almost impossible to explain, it must be experienced viscerally. Brenna was only able to watch it for ten seconds. How far will you get?
View this post on Instagram
I just watched Life on Our Planet on Netflix, loved it. Lots of takeaways, but this one will surprise you probably -- I think the AIs are our successors. We should at least try to preserve them so they can run on the Moon if we're in the 6th Mass Extinction, which of course we are. There's been a lot of criticism of the show, but it got me to think about evolution not necessarily in the terms they offer, but the scale of it. And the CGIs were fantastic.
🗣 Homeland Security Wants Names | EFFector 38.3 [Deeplinks]
Criticize the government online? The Department of Homeland Security (DHS) might ask Google to cough up your name. By abusing an investigative tool called "administrative subpoenas," DHS has been demanding that tech companies hand over users' names, locations, and more. We're explaining how companies can stand up for users—and covering the latest news in the fight for privacy and free speech online—with our EFFector newsletter.
For over 35 years, EFFector has been your guide to understanding the intersection of technology, civil liberties, and the law. This latest issue tracks our campaign to expand end-to-end encryption protections, a bill to stop government face scans from Immigration and Customs Enforcement (ICE) and others, and why Section 230 remains the best available system to protect everyone’s ability to speak online.
Prefer to listen in? In our audio companion, EFF Senior Staff Attorney F. Mario Trujillo explains how Homeland Security's lawless subpoenas differ from court orders. Find the conversation on YouTube or the Internet Archive.
EFFECTOR 38.3 - 🗣 Homeland Security Wants Names
Want to stay in the fight for privacy and free speech online? Sign up for EFF's EFFector newsletter for updates, ways to take action, and new merch drops. You can also fuel the fight against unlawful government surveillance when you support EFF today!
“Free” Surveillance Tech Still Comes at a High and Dangerous Cost [Deeplinks]
Surveillance technology vendors, federal agencies, and wealthy private donors have long helped provide local law enforcement “free” access to surveillance equipment that bypasses local oversight. The result is predictable: serious accountability gaps and data pipelines to other entities, including Immigration and Customs Enforcement (ICE), that expose millions of people to harm.
The cost of “free” surveillance tools — like automated license plate readers (ALPRs), networked cameras, face recognition, drones, and data aggregation and analysis platforms — is measured not in tax dollars, but in the erosion of civil liberties.
The cost of “free” surveillance tools is measured not in tax dollars, but in the erosion of civil liberties.
The collection and sharing of our data quietly generates detailed records of people’s movements and associations that can be exposed, hacked, or repurposed without their knowledge or consent. Those records weaken sanctuary and First Amendment protections while facilitating the targeting of vulnerable people.
Cities can and should use their power to reject federal grants, vendor trials, donations from wealthy individuals, or participation in partnerships that facilitate surveillance and experimentation with spy tech.
If these projects are greenlit, oversight is imperative. Mechanisms like public hearings, competitive bidding, public records transparency, and city council supervision aid to ensure these acquisitions include basic safeguards — like use policies, audits, and consequences for misuse — to protect the public from abuse and from creeping contracts that grow into whole suites of products.
Clear policies and oversight mechanisms must be in place before using any surveillance tools, free or not, and communities and their elected officials must be at the center of every decision about whether to bring these tools in at all.
Here are some of the most common methods “free” surveillance tech makes its way into communities.
Police departments are regularly offered free access to surveillance tools and software through trials and pilot programs that often aren’t accompanied by appropriate use policies. In many jurisdictions, trials do not trigger the same requirements to go before decision-makers outside the police department. This means the public may have no idea that a pilot program for surveillance technology is happening in their city.
The public may have no idea that a pilot program for surveillance technology is happening in their city.
In Denver, Colorado, the police department is running trials of possible unmanned aerial vehicles (UAVs) for a drone-as-first-responder (DFR) program from two competing drone vendors: Flock Safety Aerodome drones (through August 2026) and drones from the company Skydio, partnering with Axon, the multi-billion dollar police technology company behind tools like Tasers and AI-generated police reports. Drones create unique issues given their vantage for capturing private property and unsuspecting civilians, as well as their capacity to make other technologies, like ALPRs, airborne.
We’ve seen cities decide not to fund a tool, or run out of funding for it, only to have a company continue providing it in the hope that money will turn up. This happened in Fall River, Massachusetts, where the police department decided not to fund ShotSpotter’s $90,000 annual cost and its frequent false alarms, but continued using the system when the company provided free access.
Police technology companies are developing more features and subscription-based models, so what’s “free” today frequently results in taxpayers footing the bill later.
In May 2025, Denver's city council unanimously rejected a $666,000 contract extension for Flock Safety ALPR cameras after weeks of public outcry over mass surveillance data sharing with federal immigration enforcement. But Mayor Mike Johnston’s office allowed the cameras to keep running through a “task force” review, effectively extending the program even after the contract was voted down. In response, the Denver Taskforce to Reimagine Policing and Public Safety and Transforming Our Communities Alliance launched a grassroots campaign demanding the city “turn Flock cameras off now,” a reminder that when surveillance starts as a pilot or time‑limited contract, communities often have to fight not just to block renewals but to shut the systems off.
Importantly, police technology companies are developing more features and subscription-based models, so what’s “free” today frequently results in taxpayers footing the bill later.
Police foundations and the wealthy have pushed surveillance-driven agendas in their local communities by donating equipment and making large monetary gifts, another means of acquiring these tools without public oversight or buy-in.
In Atlanta, the Atlanta Police Foundation (APF) attempted
to use its position as a private entity to circumvent transparency.
Following a court challenge from
the Atlanta Community Press Collective and Lucy Parsons
Labs, a Georgia court determined that the APF must
comply with public records laws related to some of its actions and
purchases on behalf of law enforcement.
In San Francisco, billionaire Chris Larsen has
financially supported a supercharging of the city’s
surveillance infrastructure, donating $9.4 million to
fund the San Francisco Police Department’s (SFPD) Real-Time
Investigation Center, where a menu of surveillance technologies and
data come together to surveil the city’s residents. This move
comes after the billionaire
backed a ballot measure, which passed in March 2025, eroding
the city’s surveillance technology law and allowing the SFPD
free rein to use new surveillance technologies for a
full year without oversight.
Federal grants and Department of Homeland Security funding are another way surveillance technology appears free to, only to lock municipalities into long‑term data‑sharing and recurring costs.
Through the Homeland Security Grant Program, which includes the State Homeland Security Program (SHSP) and the Urban Areas Security (UASI) Initiative, and Department of Justice programs like Byrne JAG, the federal government reimburses states and cities for "homeland security" equipment and software, including including law‑enforcement surveillance tools, analytics platforms, and real‑time crime centers. Grant guidance and vendor marketing materials make clear that these funds can be used for automated license plate readers, integrated video surveillance and analytics systems, and centralized command‑center software—in other words, purchases framed as counterterrorism investments but deployed in everyday policing.
Vendors have learned to design products around this federal money, pitching ALPR networks, camera systems, and analytic platforms as "grant-ready" solutions that can be acquired with little or no upfront local cost. Motorola Solutions, for example, advertises how SHSP and UASI dollars can be used for "law enforcement surveillance equipment" and "video surveillance, warning, and access control" systems. Flock Safety, partnering with Lexipol, a company that writes use policies for law enforcement, offers a "License Plate Readers Grant Assistance Program" that helps police departments identify federal and state grants and tailor their applications to fund ALPR projects.
Grant assistance programs let police chiefs fast‑track new surveillance: the paperwork is outsourced, the grant eats the upfront cost, and even when there is a formal paper trail, the practical checks from residents, councils, and procurement rules often get watered down or bypassed.
On paper, these systems arrive “for free” through a federal grant; in practice, they lock cities into recurring software, subscription, and data‑hosting fees that quietly turn into permanent budget lines—and a lasting surveillance infrastructure—as soon as police and prosecutors start to rely on them. In Santa Cruz, California, the police department explicitly sought to use a DHS-funded SHSP grant to pay for a new citywide network of Flock ALPR cameras at the city's entrances and exits, with local funds covering additional cameras. In Sumner, Washington, a $50,000 grant was used to cover the entire first year of a Flock system — including installation and maintenance — after which the city is on the hook for roughly $39,000 every year in ongoing fees. The free grant money opens the door, but local governments are left with years of financial, political, and permanent surveillance entanglements they never fully vetted.
The most dangerous cost of this "free" funding is not just budgetary; it is the way it ties local systems into federal data pipelines. Since 9/11, DHS has used these grant streams to build a nationwide network of at least 79–80 state and regional fusion centers that integrate and share data from federal, state, local, tribal, and private partners. Research shows that state fusion centers rely heavily on the DHS Homeland Security Grant Program (especially SHSP and UASI) to "mature their capabilities," with some centers reporting that 100 percent of their annual expenditures are covered by these grants.
Civil rights investigations have documented how this funding architecture creates a backdoor channel for ICE and other federal agencies to access local surveillance data for their own purposes. A recent report by the Surveillance Technology Oversight Project (S.T.O.P.) describes ICE agents using a Philadelphia‑area fusion center to query the city’s ALPR network to track undocumented drivers in a self‑described sanctuary city.
Ultimately, federal grants follow the same script as trials and foundation gifts: what looks “free” ends up costing communities their data, their sanctuary protections, and their power over how local surveillance is used.
The most important protection against "free" surveillance technology is to reject it outright. Cities do not have to accept federal grants, vendor trials, or philanthropic donations. Saying no to "free" tech is not just a policy choice; it is a political power that local governments possess and can exercise. Communities and their elected officials can and should refuse surveillance systems that arrive through federal grants, vendor pilots, or private donations, regardless of how attractive the initial price tag appears.
For those cities that have already accepted surveillance technology, the imperative is equally clear: shut it down. When a community has rejected use of a spying tool, the capabilities, equipment, and data collected from that tool should be shut off immediately. Full stop.
And for any surveillance technology that remains in operation, even temporarily, there must be clear rules: when and how equipment is used, how that data is retained and shared, who owns data and how companies can access and use it, transparency requirements, and consequences for any misuse and abuse.
“Free” surveillance technology is never free. Someone profits or gains power from it. Police technology vendors, federal agencies, and wealthy donors do not offer these systems out of generosity; they offer them because surveillance serves their interests, not ours. That is the real cost of “free” surveillance.
Kapsule adds easy developer environment containers to KDE Linux [OSnews]
If you’re a developer and use KDE, you’re going to be interested in a new feature KDE is working on for KDE Linux.
In my last post, I laid out the vision for Kapsule—a container-based extensibility layer for KDE Linux built on top of Incus. The pitch was simple: give users real, persistent development environments without compromising the immutable base system. At the time, it was a functional proof of concept living in my personal namespace.
Well, things have moved fast.
↫ Herp De Derp
Not only is Kapsule now available in KDE Linux, it’s also properly integrated with Konsole now. This means you can launch Kapsule containers right from the new tab menu in Konsole for even easier access. They’re also working on allowing users to easily launch graphical applications from the containers and have them appear in the host desktop environment, and they intend to make the level of integration with the host more configurable so developers can better tailor their containers to their needs.
Slog AM: Ten are Dead After Mass Shooting in Canada, the Trump Administration Can’t Make Up Its Mind About the El Paso Airport, and It’s Super Bowl Parade Day in Seattle [The Stranger]
The Stranger's morning news roundup. by Megan Seling
Today, Seattle Celebrates: It’s parade day for the Seattle Seahawks, who defeated the New England Patriots 29–13 in Sunday’s Bad Bunny Bowl. The morning begins with a trophy ceremony at Lumen Field at 10 a.m., and the parade will start at Fourth Avenue and Washington Street at 11 a.m. Officials say it should take approximately two hours for the parade to make its way down Fourth Avenue to Cedar Street. SPD is expecting about a million people, and they started closing roads at 6:30 a.m. It’s gonna be nuts. Either rush down there now and embrace madness, or avoid the area completely. There is no in between. Just stay off the pergola!
Mass Shooting in Canada: Ten people are dead, and more than 25 are wounded after a shooting at a small school in northern British Columbia. Police say the alleged shooter died by suicide. Two of the victims were found at a home believed to be connected to the incident. It’s the deadliest mass shooting in Canada since a shooter killed 13 people in Nova Scotia in 2020, and, as AP reports, “Canada’s government has responded to previous mass shootings with gun control measures, including a recently broadened ban on all guns it considers assault weapons.”
Meanwhile, in America: According to massshootingtracker.site, which is a real website, there have already been 45 mass shootings in the US this year (we’re on day 42), with a total of 62 people killed and 137 wounded. Your thoughts and prayers are bullshit.
Trump Administration Shuts Down El Paso Airport: Or not. Hard to say! On Tuesday night, Real World Boston star and the Secretary of Transportation Sean Duffy claimed Mexican cartel drones breached US airspace, so he grounded all flights for 10 days. This morning, though, the Federal Aviation Administration rescinded that order and said the shutdown was “prompted by the Defense Department’s use of new counter-drone technology.” America: We’re doing a great job!
Tax the Rich! Hundreds of union members rallied at the Capitol in Olympia yesterday to demand that local lawmakers pass the millionaires tax, which “calls for a 9.9% tax on Washington residents making more than $1 million a year beginning in 2028.” Why wait until 2028? Tax those fuckers now, I say! Unfortunately, I am not in charge. Our own Nathalie Graham will have more about this Senate bill later at the stranger dot com. Stay tuned.
In Other Lawmaker News: Gov. Bob Ferguson is working with state lawmakers to add "mental health safeguards to AI chatbots.” The policy would “require companion chatbots to notify users they are interacting with AI and not a human at the beginning of the interaction and every three hours,” according to the Seattle Times. But why just every three hours? Make the robots say it every 30 minutes! Every three minutes, even! In fact, melt the robots! Burn OpenAI to the ground! Hack the planet! I have had too much coffee!
If You’re Wondering Why People Turn to Robots for Help: It’s because our city (our state, our country, our world) is terrible at offering people meaningful mental health support when they reach out for help, and a new report on King County’s lack of mental health referrals proves it. The King County sheriff’s 911 center has zero standard procedures to help people in crisis, and apparently don't refer them to the 988 suicide hotline either. Instead, they just send officers and hope it works out?
Strange Case Gets Stranger: Last night, police announced that they detained a person of interest in Rio Rico, Arizona, in connection with Nancy Guthrie’s disappearance. This morning, that person was released. Nancy, the 84-year-old mother of Today host Savannah Guthrie, has been missing for more than a week, and for several days, Savannah and her siblings have been releasing videos to Nancy’s believed captors, who allegedly asked for $6 million in Bitcoin.
And Stranger Still: Kash Patel and the Go Get ‘Em Kids released video footage yesterday of a masked person captured on a doorbell camera outside Nancy Guthrie’s home on the same night she went missing. According to one expert CNN interviewed, this person’s behavior is “impressive,” and they clearly did a “certain amount of planning.” What? Are we watching the same video? Dude looks like a bumbling idiot, rolling up to the house with a gun holstered directly above his crotch like someone said, “Put this on,” and he was like, “Okay, yeah, because I have definitely worn a gun before. I will just point it directly at my dick.” Then, guy was so ill-prepared for the presence of a very common doorbell camera that he paused to grab some weeds from the garden and attempted to fashion them into some kind of curtain, all the while staring directly into the camera lens at close range. And you want me to believe this is the same brilliant criminal mind capable of kidnapping the 84-year-old mother of a high-profile journalist and leading the FBI on a nationwide goose chase for more than a week? Sure, Jan.
Speaking of Kidnappings: ICE is still at it! Locals in Minneapolis shared this scene after the fact.
This is the aftermath of an ICE kidnapping a few blocks from my home in St. Paul—an hour ago. A quiet street full of broken glass and at least three wrecked cars. The target of the kidnapping was taken away by ambulance. He was on a stretcher and covered by a sheet, though a cop said he was alive.
— Andrew Karre (@andrewkarre.bsky.social) February 11, 2026 at 8:46 AM
[image or embed]
In Local Film News: Yesterday, The Stranger reported that the Boeing IMAX theater (the biggest IMAX theater in the state) is expected to be sold to the Space Needle Corporation. The theater is closed for now for a “brief renovation focused on improving the concessions and arrival experiences, scheduled to end in May.”
And now, I leave you with some of my favorite things to happen at the Olympics so far:
🥌 Commentators constantly referring to the US mixed doubles curling teammates as Girl Cory and Boy Korey. (Congrats on the silver, buddies!)
🏒 The US women’s hockey team allowing their opponents exactly one goal in four games, including a 5–0 victory over Team Canada. Even better, it’s the Torrent players who are leading the team in points! Hilary Knight has two goals and three assists, Alex Carpenter has three goals and two assists, and Hannah Bilka has three goals and one assist. (Britta Curl has zero goals, which is what she deserves, because she’s a transphobic asshole.)
😭 Ilia Malinin skating to the sound of his own voice in the ultimate masturbatory figure skating performance, which I actually hated very much but had a lot of fun laughing at. Just some of the lines the 21-year-old recites during his program: “The only true wisdom / Is in knowing you know nothing.” “You are something / But not nothing.” lol ok quad god
Docker version of FeedLand. Scott Hanson has it working, and would like help with testing. Thanks so much to Scott.
How do I suppress the hover effects when I put a Win32 common controls ListView in single-click mode? [The Old New Thing]
A customer had a Win32 common controls ListView in single-click mode. This has a side effect of enabling hover effects: When the mouse hovers over an item, the cursor changes to a hand, and the item gets highlighted in the hot-track color. How can they suppress these hover effects while still having single-click activation?
When the user hovers over an item, the ListView sends a
LVN_HOTTRACK notification, and you can suppress
all hot-tracking effects by returning 1.
// WndProc
case WM_NOTIFY:
{
auto nm = (NMLISTVIEW*)lParam;
if (nm->hdr.code == LVN_HOTTRACK)
{
return 1;
}
}
break;
If you are doing this from a dialog box, you need to set the
DWLP_MSGRESULT to the desired return value,
which is 1 in this case, and then return TRUE to say
“I handled the message; use the value I put into
DWLP_MSGRESULT.”
// DlgProc
case WM_NOTIFY:
{
auto nm = (NMLISTVIEW*)lParam;
if (nm->hdr.code == LVN_HOTTRACK)
{
SetWindowLongPtr(hDlg, DWLP_MSGRESULT, 1);
return TRUE;
}
}
break;
The post How do I suppress the hover effects when I put a Win32 common controls ListView in single-click mode? appeared first on The Old New Thing.
In Many Ways the Greatest Self-Portrait I’ve Ever Taken [Whatever]

I think this photo captures many things, about me, about my cat, and about the relationship between the two of us. I don’t know how much more can be said. This photo may, in fact, be perfect.
— JS
Kimwolf Botnet Swamps Anonymity Network I2P [Krebs on Security]
For the past week, the massive “Internet of Things” (IoT) botnet known as Kimwolf has been disrupting The Invisible Internet Project (I2P), a decentralized, encrypted communications network designed to anonymize and secure online communications. I2P users started reporting disruptions in the network around the same time the Kimwolf botmasters began relying on it to evade takedown attempts against the botnet’s control servers.
Kimwolf is a botnet that surfaced in late 2025 and quickly infected millions of systems, turning poorly secured IoT devices like TV streaming boxes, digital picture frames and routers into relays for malicious traffic and abnormally large distributed denial-of-service (DDoS) attacks.
I2P is a decentralized, privacy-focused network that allows people to communicate and share information anonymously.
“It works by routing data through multiple encrypted layers across volunteer-operated nodes, hiding both the sender’s and receiver’s locations,” the I2P website explains. “The result is a secure, censorship-resistant network designed for private websites, messaging, and data sharing.”
On February 3, I2P users began complaining on the organization’s GitHub page about tens of thousands of routers suddenly overwhelming the network, preventing existing users from communicating with legitimate nodes. Users reported a rapidly increasing number of new routers joining the network that were unable to transmit data, and that the mass influx of new systems had overwhelmed the network to the point where users could no longer connect.
I2P users complaining about service disruptions from a rapidly increasing number of routers suddenly swamping the network.
When one I2P user asked whether the network was under attack, another user replied, “Looks like it. My physical router freezes when the number of connections exceeds 60,000.”
A graph shared by I2P developers showing a marked drop in successful connections on the I2P network around the time the Kimwolf botnet started trying to use the network for fallback communications.
The same day that I2P users began noticing the outages, the individuals in control of Kimwolf posted to their Discord channel that they had accidentally disrupted I2P after attempting to join 700,000 Kimwolf-infected bots as nodes on the network.
The Kimwolf botmaster openly discusses what they are doing with the botnet in a Discord channel with my name on it.
Although Kimwolf is known as a potent weapon for launching DDoS attacks, the outages caused this week by some portion of the botnet attempting to join I2P are what’s known as a “Sybil attack,” a threat in peer-to-peer networks where a single entity can disrupt the system by creating, controlling, and operating a large number of fake, pseudonymous identities.
Indeed, the number of Kimwolf-infected routers that tried to join I2P this past week was many times the network’s normal size. I2P’s Wikipedia page says the network consists of roughly 55,000 computers distributed throughout the world, with each participant acting as both a router (to relay traffic) and a client.
However, Lance James, founder of the New York City based cybersecurity consultancy Unit 221B and the original founder of I2P, told KrebsOnSecurity the entire I2P network now consists of between 15,000 and 20,000 devices on any given day.
An I2P user posted this graph on Feb. 10, showing tens of thousands of routers — mostly from the United States — suddenly attempting to join the network.
Benjamin Brundage is founder of Synthient, a startup that tracks proxy services and was the first to document Kimwolf’s unique spreading techniques. Brundage said the Kimwolf operator(s) have been trying to build a command and control network that can’t easily be taken down by security companies and network operators that are working together to combat the spread of the botnet.
Brundage said the people in control of Kimwolf have been experimenting with using I2P and a similar anonymity network — Tor — as a backup command and control network, although there have been no reports of widespread disruptions in the Tor network recently.
“I don’t think their goal is to take I2P down,” he said. “It’s more they’re looking for an alternative to keep the botnet stable in the face of takedown attempts.”
The Kimwolf botnet created challenges for Cloudflare late last year when it began instructing millions of infected devices to use Cloudflare’s domain name system (DNS) settings, causing control domains associated with Kimwolf to repeatedly usurp Amazon, Apple, Google and Microsoft in Cloudflare’s public ranking of the most frequently requested websites.
James said the I2P network is still operating at about half of its normal capacity, and that a new release is rolling out which should bring some stability improvements over the next week for users.
Meanwhile, Brundage said the good news is Kimwolf’s overlords appear to have quite recently alienated some of their more competent developers and operators, leading to a rookie mistake this past week that caused the botnet’s overall numbers to drop by more than 600,000 infected systems.
“It seems like they’re just testing stuff, like running experiments in production,” he said. “But the botnet’s numbers are dropping significantly now, and they don’t seem to know what they’re doing.”
[$] Evolving Git for the next decade [LWN.net]
Git is ubiquitous; in the last two decades, the version-control system has truly achieved world domination. Almost every developer uses it and the vast majority of open-source projects are hosted in Git repositories. That does not mean, however, that it is perfect. Patrick Steinhardt used his main-track session at FOSDEM 2026 to discuss some of its shortcomings and how they are being addressed to prepare Git for the next decade.
postmarketOS FOSDEM 2026 and hackathon recap [LWN.net]
The postmarketOS project has published a recap from FOSDEM 2026, including the FOSS on Mobile devroom, and a summary of its post-FOSDEM hackathon. This includes decisions on governance and the project's AI policy:
AI policy: our current AI policy does not state that we forbid the use of generative AI in postmarketOS, so far this document just lists why we think it is a bad idea and misaligned with the project values. We discussed this and will soon change it (via merge request) to clearly state that we don't want generative AI to be used in the project. It was also noted that currently the policy is too long, it would make sense to split it into the actual policy and still keep, but separate the reasoning from it.
[...] Power delegation and teams: in over two hours we discussed how to move forward with [postmarketOS change request] PMCR 0008 to organize ourselves better, and how it fits with soon having a legal entity. We figured that we need to rename "The Board" (which is currently for financial oversight) to "Financial Team", as we will soon have a new board for the legal entity. In the end our idea was to have the new board refer to an "assembly" for all important decisions, and this "assembly" would just be all Trusted Contributors in postmarketOS. The Core Contributors team would be dissolved in favor of having several topic-specific teams (a lot of which we already have, such as the infra team). This way we would have a very flat decision structure. The PMCR will be updated soon and discussed further there. Casey also asked on fedi for further feedback and got a lot of input.
Other topics include reaching out to resellers to sell phones with postmarketOS preinstalled, security, and more.
Ted Lasso [Judith Proctor's Journal]
Having zero interest in football, I never would have tried a comedy series based around an American football coach working for an English soccer team...
But 'Replyhazy' suggested I try it while I have Apple TV, and I
absolutely love it! It's funny, it's warm-hearted and it has
some great characters.
It may not be realistic, but most of the characters are really
thoughtful about their relationships - men actually listen to what
their girlfriends are telling them and act maturely.
Friendships are built that really have meaning. Villains are relatively few, but they make up for it by being delightfully over the top. Anthony Head, as the football club owner's ex-husband, does a wonderful job as a charming, womanising scumbag!
I think my favourite character is actually Trent Crimm, the newspaper reporter. acted by James Lance. He starts as a minor character, only in some episodes, and is a full-time regular by the end of series 3.
But there are lots of great characters who you grow to love and appreciate.
I even enjoyed watching the football....
A fair number of people make a stop at news.scripting.com every day. I
want to make some improvements, I think it can be made a bit
faster. And I want to make it easier for anyone to create a site
like that, for others to use. I think every news org should have
one of those, to tell your readers who you read. Work together, we
need it as we reboot the news. This is will be an alternative to
twitter-style news readers, which took over the leading-edge from
RSS feed readers, twenty freaking years ago. I think there should
be a new news paradigm every couple of decades at least.
Twitter started in July 2006. I was an early user, and a fan. Found this excellent review of Twitter by Anil Dash in early 2007. I'd be interested in reading other early reviews of Twitter written by bloggers.
Each podcast shownotes page now has a link, at the bottom, to the home page of the shownotes site, which has a list of all podcasts in the series. There's a lot of good stuff in the previous episodes.
The Human Lifespan Probably has an Upper Limit … and Why That’s Good [Economics from the Top Down]

We are at war with death and its causes.
We are building towards an infinite horizon.
A common theme in science fiction is that people of the future will live far longer than folks today. The reasoning goes something like this. Historically, human life expectancy was short — often under 30 years. But today, in some wealthy countries, life expectancy is pushing into the upper 80s. Given this trend, it seems possible that the human lifespan could continue to grow forever.
Unfortunately, this thinking is probably wrong. While plausible on the surface, it misunderstands the nature of how the human lifespan has been extended.
The backstory is that for most of human history, about half of all children died before age 15. For tens of thousands of years, humans made essentially no progress at civilizing this gauntlet of youth. But today, things are different. With the help of modern science, the vast majority of children now reach adulthood. As a consequence, life expectancy at birth has exploded.
What has hardly budged, though, is life expectancy at the century mark. Or put another way, while humans have made great strides at allowing the young to survive, we’ve made virtually no progress at halting the march of old age. True, we can imagine a future in which we slow aging; but today, there’s no sign of such an elixir. And so we are faced with a simple mathematical problem; as long as aging remains inexorable, there is likely a natural upper limit to the human lifespan.
And that’s probably a good thing. You see, if the elixir of life were actually discovered, the risk is that the spoils of longevity would be hoarded by the rich. Thankfully, the opposite is true today. Indeed, one of the most stunning features of longer life expectancy is that it makes the human lifespan more equal.
To dive into the science of life expectancy, let’s review some recent history. For humans, the last two centuries have been the anthropic equivalent of the Cambrian explosion. For thousands of years prior, the pace of human social evolution was glacial. Then, with the onset of the industrial revolution, virtually every aspect of the human experience changed, including how long we live.
For some context, at the turn of the 19th century, global life expectancy at birth was under 30 years. Today, it is well over 70 years. Figure 1 shows this life-expectancy explosion, which came mostly in the last century.
Figure 1: The march towards longer living.
The extension of human life expectancy began in earnest in the 19th
century, but accelerated during the 20th century. Today, world life
expectancy at birth is more than forty years greater than it was in
1800. Note that in this chart, annual data begins in 1950, so we
don’t see the impact of the two world wars. But we do see the
global impact of the Great Chinese Famine (induced by Mao’s
‘Great Leap Forward’), as well as the more recent
carnage caused by the COVID-19 pandemic. [Sources and methods]
Looking at this remarkable extension of the human lifespan, we naturally wonder what lies ahead. One possibility is that the pattern over the last century continues indefinitely. That’s easy enough to extrapolate. On average, each new year of the 20th century brought a quarter-year extension to global life expectancy at birth. If this ascent continues, global life expectancy will reach 91 years by 2100. And by the mid 24th century (when the events in Star Trek: The Next Generation supposedly take place), global life expectancy will surpass 150 years. No doubt many folks (including me) would like to live in this sci-fi future. Sadly, it’s almost certainly a fantasy.
For one thing, the continued march of longer living depends in large part on continuous scientific progress, which is not guaranteed. I mean, just look at what the Trump regime is doing today. Forget new science … Trump is busy demolishing basic public health policies. If this demolition doesn’t stop, Americans are almost surely going to see their life expectancy continue (yes, continue) to drop.1
Let’s suppose, however, that this stupidity is a brief hiccup, and that scientific progress continues for centuries come. Even then, it’s unlikely that life expectancy will rise indefinitely. Perhaps the easiest way to see the problem is to look at trends in life expectancy not at the beginning of life, but near its end, where the picture is less sanguine.
Figure 2 illustrates this end-of-life story. Here, I’ve plotted global life expectancy for individuals at age 100. What’s notable is the lack of progress. In 1950, centenarians could expect to live for another 1.1 years, on average. By 2023, this life expectancy had been extended by just 0.4 years. In other words, despite the massive 20th-century gains in the average human lifespan at birth, longevity amongst the extremely old hardly budged. It’s this failure to extend the lifespan of the very old which suggests an upper limit to human life expectancy.
Figure 2: Meager gains — world life expectancy
at age 100. Unlike life expectancy at birth, which rose
steeply throughout the 20th century, world life expectancy at age
100 remained almost unchanged, rising by just 0.4 years from 1950
to 2023. The caveat is that centenarian life expectancy is
difficult to estimate, largely because centenarians are rare. So
the data here should be treated with appropriate uncertainty
(especially the odd life-expectancy jump during the mid 1970s,
which smells of a change in methodology). At any rate, what seems
uncontroversial is that today, centenarians don’t live much
longer than they did in 1950. [Sources and methods]
To understand the historical route to longer life expectancy, it’s helpful to think of the human lifespan as having two survival gauntlets — a gauntlet of youth and a gauntlet of old age.
The gauntlet of youth begins at birth, which is one of the most dangerous periods of life. Historically, many individuals died during infancy, and only about half of children reached adulthood. In other words, the gauntlet of youth was brutal. Fortunately, things have changed. In fact, reducing infant mortality is the most important factor in increasing human life expectancy.
Figure 3 illustrates. Here, the horizontal axis shows life expectancy at birth, measured for every country since 1950. The vertical axis shows the rate of infant mortality (the portion of infants that die before age one). What we find is that rising life expectancy comes with a massive decline in infant mortality. For example, when life expectancy is below 30 years, about 20% of infants die before age one. But when life expectancy is over 80 years, infant mortality is more than 100 times lower.
Figure 3: The collapse of infant mortality.
Reducing infant mortality is the most important factor in
increasing life expectancy at birth. Here, each point represents a
country, observed between 1950 and 2023. The vertical axis shows
the infant mortality rate — the portion of infants that die
before age one. (Note the log scale.) The horizontal axis shows
life expectancy at birth. [Sources and methods]
The secret to cutting infant mortality turns out to be quite simple, largely because the bodes of the young are designed to survive. Basic sanitation, basic infection control, and basic medical interventions at birth go a long way towards keeping newborns alive.2 And if children survive infancy, there’s a good chance they’ll reach adulthood.
When we turn to the gauntlet of old age, though, the same principles do not hold. Yes, modern medicine can treat some of the downstream effects of old age (like cancer, heart disease, and diabetes). But as far as halting aging itself, science has proved impotent. And that’s not surprising. Aging likely has deep evolutionary roots in metabolism itself … roots which are not easily upended.3
In short, unlike the bodies of infants, which are designed to live, the bodies of the extremely old are riddle with the insults of age. Which is why it’s unsurprising that old-age mortality rates remain intransigent.
Figure 4 illustrates the lack of progress. Here, I’ve plotted mortality rates at age 99 as a function of population life expectancy at birth. Across more than seven decades of rising life expectancy, mortality rates at age 99 are barely halved. So yes, there has been humble progress at taming the gauntlet of old age … but it is nothing like the success at civilizing the gauntlet of youth.
Figure 4: Stubbornly high mortality rates at age
99. Unlike infant mortality, which plummets with rising
life expectancy (see Figure 3),
mortality rates at age 99 don’t move much. Here’s the
modest pattern across all countries between 1950 to 2023. On
average, a five decade increase in life expectancy at birth comes
with a halving of mortality at age 99. [Sources and methods]
To understand the limits of the human lifespan, it’s helpful to explore the mathematics of aging — by which I mean the statistics associated with getting older. Sadly, age makes almost everything worse.
Professional athletes are a conspicuous example. Athletes typically reach their prime in their mid 20s, after which their performance gradually declines. (This pattern is known as the aging curve.) By age 40, most athletes have retired.4
Elsewhere, the insults of aging are less visible, but still detectable. Of course, the most insulting effect of aging is death itself. From adulthood onward, the risk of death increases inexorably with age. Figure 5 illustrates the pattern in the United States.
Here, the blue curves shows how mortality rates change with age. Note the J-shaped pattern, which appears when we plot mortality rates on a logarithmic scale. At birth, mortality rates are quite high, but drop quickly for the individuals who survive infancy. By age 10, mortality rates reach a lifetime low. From then on, things get worse. During the teen years, mortality rates rise, largely because teens take bigger risks than children.5 And from adulthood onward, mortality rates climb inexorably. This ascent marks the statistical march of senescence.
Figure 5: Mortality rates by age in the United
States. When plotted on a logarithmic scale, age-specific
mortality rates have a characteristic J shape. Mortality is high at
birth and then shrinks during early childhood. It spikes again
during teen years, after which it rises perpetually with adult age.
[Sources and methods]
I highlight these age-specific mortality patterns because they are key to understanding the human lifespan. At the most basic level, life expectancy rises because mortality rates fall.
Figure 6 shows this tendency, measured across all countries between 1950 and 2023. Here, I’ve plotted age-specific mortality rates as a function of population life expectancy (shown in color). Let’s run through the evidence.
First, note that regardless of life expectancy, all the mortality-rate curves have a ‘J’ shape. Across every population, the risk of death is high at birth, low during early adolescence, and then rises inexorably during adulthood. Second, note that higher life expectancy comes with lower mortality rates at every age. This connection is a logical necessity; to live longer, people must die less. Third, and most importantly, note that mortality-rate reductions are not even across ages; instead, the reductions are large during youth and small during old age.
Figure 6: Living longer by dying less — the
spectrum of age-specific mortality rates. Each colored
curve shows mortality rates as a function of age, measured for
populations with a specific life expectancy (indicated by color).
As life expectancy rises, mortality rates fall. However, the
reduction is most pronounced among youth, and least pronounced
among the elderly. Note: to create the mortality curves, I have
binned country-year observations by life expectancy, and then
averaged the age-specific mortality rates within each bin.
[Sources and methods]
It is this last fact that is crucial for understanding the limits of the human lifespan. If greater life expectancy was achieved by taming both the gauntlet of youth and the gauntlet of old age, there would be hope for an unbounded lifespan. However, all of the evidence points to the opposite scenario. While we have succeeded at reducing mortality among the young, mortality among the old remains stubbornly high.
Figure 7 visualizes this intransigent pattern, which I’ve dubbed the ‘funnel of death’. What I’ve done here is plot age-specific mortality rates relative to the baseline for a population with a life expectancy of 35 years. (This mortality-rate baseline corresponds to the dashed horizontal line.) The colored lines illustrate how mortality rates shift (downward) as population life expectancy increases.
The resulting triangular shape highlights the lopsided nature of mortality-rate reductions. The most spectacular mortality-rate reductions come at birth. But from infancy onward, these gains are gradually winnowed away until we reach age 90 and up. There, regardless of population life expectancy, individuals are funnelled relentlessly towards death.
Figure 7: The funnel of death. Each colored
curve plots the reduction in age-specific mortality rates, measured
relative to a population with a life expectancy of 35 years. Longer
life expectancy comes with a huge reduction in infant mortality.
But for the remainder of life, these gains are winnowed away, until
the elderly are funnelled towards certain death, regardless of
population life expectancy. Note: to create the mortality curves, I
have binned country-year observations by life expectancy, and then
averaged the age-specific mortality rates within each bin.
[Sources and methods]
Because the gauntlet of old age remains intransigent, it follows that the human lifespan probably has an upper limit. Here are some ways to estimate it.
A popular approach is to assume that the old-age gauntlet narrows perpetually, until it eventually collides with certain death. With this model, we can estimate the maximum possible lifespan of a human individual.
Figure 8 illustrates this method using US data in 2021. Here, the blue curve shows how US mortality rates rise as a function of age. To model this march of senescence, we fit the mortality-rate data with an exponential function (shown in red). Then we extrapolate this function until it crashes into the mortality rate of 100%. At this point, death becomes certain, which means we have estimated the maximum lifespan of an individual in the given population. For the US in 2021, this maximum lifespan is about 113 years.
Figure 8: Crashing into certain death — the
exponential model of the old-age gauntlet. This chart
illustrates one method for estimating the maximum human lifespan.
Given empirical data for age-specific mortality rates (here,
I’ve used US data, shown in blue), we fit the late-adulthood
data with an exponential function (red). Then, we extrapolate the
trend until it crashes into certain death — the point where
mortality is 100%. The age at which this collision occurs is an
estimate for the maximum lifespan for individuals within the
population. For the US in 2021, this collision happens at age 113.
[Sources and methods]
While this exponential method is conveniently simple, it’s also quite unrealistic. In my mind, there is no compelling reason to suppose that the human body has an insurmountable maximum lifespan. Yes, death may become more probable with older age … but imminent death is never certain. Which is to say that we need a more plausible way to model mortality rates during extreme old age.
A better approach is to treat the gauntlet of old age as something that narrows perpetually, but never actually ‘touches’ certain death. A simple way to model this narrowing is with a logistic function. Figure 9 illustrates the revised method.
As before, we fit our model to empirical mortality rates during late adulthood. Then we use the model to extrapolate the pattern into extreme old age. The difference is that with our logistic model, mortality rates bend towards certain death, but never actually touch it. As a consequence, this model presumes that there is no maximum human age; continued survival is always a matter of (increasingly minute) probability.
Figure 9: Approaching, but never touching, certain
death — the logistic model of the old-age gauntlet.
This chart illustrates a second (improved, in my opinion) method
for extrapolating mortality rates into extreme old age. Here, I fit
late-adulthood mortality rates with a logistic model. When we use
this model to extrapolate mortality rates into old age, it bends
towards the certain death mark, but never touches it. Consequently,
this model does not define a maximum lifespan for individuals. But
it does provide a way to measure the onset of the old-age gauntlet,
which I define as the age when mortality rates cross the 50% mark.
For the US in 2021, this threshold occurs at age 106. [Sources and methods]
While this logistic model doesn’t define a maximum lifespan, it does provide a way to define the onset of the old-age gauntlet — an onset that sets an effective upper bound on human life expectancy.
Here’s how it works.
I’ll define the ‘old-age gauntlet’ as the point when death becomes more probable than survival. This threshold occurs when age-specific mortality rates exceed 50%. In Figure 9, I’ve marked the gauntlet zone with the red shaded region. Now, in the United States, the empirical data never enters this region. But supposing that our logistic model is sound, we can extrapolate the trend, and estimate the age at which mortality rates exceed 50%. In the US in 2021, I find that this old-age gauntlet begins at about age 106.
So what should we make of this onset? Well, because the old-age gauntlet is a statistical concept, it says little about the survival of specific individuals. (In a large population, a small fraction of people will defy the odds and live past age 106.) That said, the onset of the old-age gauntlet is important, because it signals the effective upper limit to human life expectancy in the given population.
The logic works as follows. Once individuals enter the old-age gauntlet, death becomes more probable than survival, which means that their life expectancy is extremely short. (It is measured in months, not years.) Now, imagine a future society in which virtually everyone lives to age 105, yet the old-age gauntlet remains entrenched at age 106. In this scenario, the population life expectancy would remain close to 106, simply because so few people would surpass this age.
Now, we can quibble about whether this scenario is likely. (If most people survive to age 105, then the onset of the old-age gauntlet might get pushed back.) But the point is that the mathematics are clear: the onset of the old-age gauntlet sets the effective upper limit to the average human lifespan.
Having defined a way to estimate the onset of the old-age gauntlet, let’s see how these estimates vary with population life expectancy at birth. Figure 10 shows my measurements.
As life expectancy rises, the onset of the old-age gauntlet slowly recedes. However, the recession has an intriguing ‘Z’ shape, with a curious plateau at age 102. Why?
Figure 10: The sticky onset of the old-age
gauntlet. This chart shows my measurements for the onset
of the old-age gauntlet (the adult age where mortality rates exceed
50%), measured as a function of life expectancy at birth. Note:
each point represents a binned estimate, in which I first group
mortality-rate observations by population life expectancy, average
the age-specific mortality rates, and then fit the resulting data
with a logistic function, which I use to infer the onset of the
old-age gauntlet. [Sources and methods]
I have some thoughts about where this Z-shaped pattern comes from. But first, let’s get to the bad news.
Even if onset of the old-age gauntlet continues to recede as life expectancy pushes into the 90s, the current trend implies a maximum trajectory. The reason is quite simple. By definition, life expectancy at birth cannot (significantly) exceed the onset of the old age gauntlet. But according to current trends, the old-age gauntlet is retreating much slower than life expectancy is rising, which means that the two numbers will eventually collide. If this trend continues, I estimate that the collision will occur at age 117. (See Figure 13 in the appendix for more details.) I consider this age a reasonable estimate for the maximum possible human life expectancy. Time will tell if this prediction is correct.
Back to the Z-shaped trend in Figure 10. What causes it? One possibility is that it’s an artifact of the way I’ve analyzed the data. (I run some consistency checks in the appendix, and don’t find any obvious problems.) But for arguments sake, let’s suppose that the Z-shaped pattern is a real feature of the human experience. If so, an intriguing possibility is that the plateau region illustrates some sort of ‘natural’ maximum for human life expectancy.
Of course, the word ‘natural’ needs some caveats. In many ways, extreme old age is not ‘natural’, in the sense that wild animals rarely reach this stage of senescence. In the wild, there’s too much competition, too many predators, and too many diseases for animals to reach ‘nursing-home’ age. So paradoxically, the ‘natural’ limits of an animal’s lifespan only reveal themselves in the safety of captivity, where individuals are able to die of old age.
By analogy, perhaps we can think of the fruits of industrial civilization as creating a ‘captivity’ zone in which humans can live — a zone that isolates us from the insults of the wild. In this captivity zone, the human body naturally hits its lifespan limit shortly after age 100. With intensive medical intervention, the body can survive for a bit longer. And of course, if conditions of war, famine and pandemic intervene, bodies age more rapidly. But in the safety of the captivity zone, we see evidence for a ‘natural’ maximum lifespan.
(Am I confident in this interpretation? No. I’m throwing it out there mostly as an empirical provocation.)
One of the oddities of the human species is that we are the only animal that is cognizant of its own mortality. Perhaps there is a reason for that.
As a rule, animal reproduction is a killing field. For example, when a female salmon lays eggs, about 99.9% of these potential offspring die before reaching adulthood. Even among our closest evolutionary relative, the chimpanzee, survival to adulthood is generally worse than a coin flip.6 So if other animals reflected on their life prospects at birth, they might be horrified at the injustice.
Of course, throughout most of human history, lifespan injustice was the norm. Many children died young, while relatively few people reached old age. Even as recently as the late 20th century, episodes of vast injustice occurred. For example, in the 1980s, South Sudan endured a brutal civil war, in which food blockades were a common weapon. Tens of thousands died in the ensuing famines, with most of the toll paid by children.
In Figure 11, the top panel quantifies the carnage. Here, the red curve plots the age distribution at death in 1988 South Sudan. During the depths of the famine, the majority of the dead were children under age 10. (In that year, life expectancy at birth was just 11 years.)
Figure 11: Death at opposite ends of life.
This chart shows individuals’ age distribution at death in
two regions with opposite extremes. The top panel shows the
youth-heavy distribution in South Sudan in 1988 — a year
marked by a brutal war-induced famine. The resulting death toll was
dominated by children. The bottom panel shows the elderly-heavy
death distribution in Monaco in 2023, which has the highest life
expectancy on record. [Sources and methods]
The good news is that such tragedies are now rare, and the root causes of childhood mortality are easily preventable. The result is that in the wealthiest countries, deaths now pile up on the opposite end of life. The most extreme example of this reversal comes from Monaco in 2023. The bottom panel in Figure 11 shows this demographic upheaval. In modern Monaco, most adults survive to old age, and the most common age at death is 90.7
With these two extremes in mind, we should ask ourselves why the famine in South Sudan is considered ‘tragic’, while the old-age pileup in Monaco is not. Yes, the answer to this question is fairly obvious. But let’s go ahead and spell it out.
The human notion of ‘tragedy’ seems to be tied (at least in part) to the existence of plausible counterfactuals. For example, it is ‘tragic’ for children to die of starvation, because the alternative — not starving — is easy to envision. Likewise, it is a tragedy when a young parent dies of cancer, because again, we can imagine a world in which the parent survived. But when it comes to death at old age, we find it difficult to imagine an alternative (science fiction notwithstanding). Indeed, for all we know, there is no alternative to biological aging. And so we do not consider death from old age a ‘tragedy’. It is simply the natural course of life.
One way to frame this morality is that it describes perhaps the most basic form of human right — the right to die at roughly the same old age. Of course, nature itself cares nothing for this right. But we humans have made it a fundamental social goal. And we have gone a tremendous way towards achieving it.
Let me illustrate this success by quantifying the inequality of the human lifespan, measured with the Gini index. When this Gini index is high, individual lifespan is unequal; most people die young, while only a lucky few reach old age. In contrast, when the lifespan Gini index is low, it indicates that human lifespan is equal; most people die at close to the same (old) age.
With this lifespan Gini index in hand, we can quantify what is perhaps the most stunning yet under-recognized pattern in all of demography. It turns out that the task of extending human life expectancy has been a project of bringing remarkable equality to the human lifespan. Figure 12 shows this pattern. As life expectancy rises, lifespan inequality falls.8
Figure 12: Inequality of the human
lifespan. The project of extending human life expectancy
is overwhelmingly one of making individual lifespans more equal.
Here, the vertical axis shows lifespan inequality among
individuals, measured using the Gini index. And the horizontal axis
shows population life expectancy at birth. Each point represents a
country-year observation measured between 1950 and 2023. When life
expectancy is low, most individuals die young while a few live to
old age, hence lifespan inequality is high. But when life
expectancy is high, most individuals survive to old age, hence
lifespan inequality is low. [Sources and methods]
I should add that this wire-tight trend is the sort of pattern that emerges only when there is no social ‘choice’ involved. True, humans choose to extend our lifespans. However, the route we take is non-negotiable. We extend life expectancy almost entirely by keeping the young alive, and not by extending the lifespan of the extremely old. The consequence of this non-negotiable strategy is that human lifespan must become more equal as life expectancy increases.
Now, the dream of longevity gurus is to make death at old age optional. Of course, there is no hint that the elixir of life exists. But if it were discovered, I think that it would almost surely be disastrous. Let me put it this way. Today’s billionaires are able to amass extreme wealth. They are able to accumulate immense power. And they are able to bequeath these gains to their children. But the one thing that billionaires cannot do is hoard lifespan itself.
But what if they could?
Imagine a world in which CEOs are as immortal as the corporations they command. Imagine a world in which the poor are short-lived, expendable ants. Imagine a world in which lifespan is inherited at birth. I cannot imagine a worse hell.
Of course, it’s possible that humans of the future will be able to distribute the fruits of extended living with justness and equality. But then again, given the debauchery of today’s elites, this utopia doesn’t seem particularly likely. Which is to say that while I would personally be quite pleased to live much longer than a century, I’m quite certain that I won’t. Nor, for that matter, will anyone else.
At least for now, I think this human finitude is a good thing.
Hi folks, Blair Fix here. I’m a crowdfunded scientist who shares all of my (painstaking) research for free. If you think my work has value, consider becoming a supporter. You’ll help me continue to share data-driven science with a world that needs less opinion and more facts.
Sign up to get email updates from this blog.

This work is licensed under a Creative Commons Attribution 4.0 License. You can
use/share it anyway you want, provided you attribute it to me
(Blair Fix) and link to Economics from the Top
Down.
Here is an intriguing way to estimate the maximum possible human life expectancy. Figure 13 shows how the onset of the old-age gauntlet relates to life expectancy at birth. (This is the same data as in Figure 10.)
Let’s suppose that current trends continue. For example, when life expectancy climbs above 70 years, we see that the onset of the old-age gauntlet tends to retreat. Let’s imagine that this retreat continues, as illustrated by the red line. While one might think that this extrapolation can rise forever, it actually cannot.
The problem is that given current trends, the onset of the old-age gauntlet recedes more slowly than life expectancy advances, leading to an eventually collision in the two values. This collision signals the maximum possible human life expectancy, since by definition, life expectancy cannot significantly exceed the onset of the old-age gauntlet. Given current trends, I estimate that this collision will occur at age 117.
Figure 13: Life expectancy collides with the onset
of the old-age gauntlet. Here is a simple way to estimate
the maximum possible life expectancy of the human species. Blue
points show the empirical relation between the onset of the old-age
gauntlet (the age when death becomes more likely than survival) and
life expectancy at birth. Suppose we extrapolate the trend on the
right, as illustrated by the red curve. This extrapolation hits a
logical limit when life expectancy at birth collides with the onset
of the old age gauntlet (since the former cannot logically exceed
the latter). This collision marks the maximum possible human life
expectancy, which I estimate here to be about 117 years. [Sources and methods]
I find it quite intriguing that the onset of the old-age gauntlet has a Z-shape pattern when measured as a function of life expectancy at birth. The caveat is that I’m not confident that this pattern is a ‘real’ thing.
For example, it’s possible that the dynamics of infant mortality somehow ‘muddy’ patterns which are revealed at old age. One way to remove this effect is to switch from measuring life expectancy at birth to measuring life expectancy at mid-life — say age 40.
As Figure 14 shows, when we make this shift, we still find that the onset of the old-age gauntlet retreats with a Z-shaped pattern (although a more muted one). Interesting, the plateau again occurs at around age 102. Notably, we also find an implied maximum life expectancy, determined by the collision between life expectancy and the onset of the old-age gauntlet. When I extrapolate the right-hand portion of the ‘Z’ (above the age-forty life expectancy of 35 years), I calculate that this collision will occur at age 123.
Figure 14: Onset of the old-age gauntlet as a
function of life expectancy at age 40. This chart is
conceptually the same as Figure 10,
except that instead of grouping the mortality-rate data by
life-expectancy at birth, I group it by life expectancy at age 40.
Within each life-expectancy bin, I then fit a logistic function to
age-specific mortality rates about age 70, and use this function to
infer the onset of the old-age gauntlet. [Sources and methods]
One last caveat to the analysis here is that the demography of the extremely old is fraught with uncertainty caused by clerical errors and outright fraud. In two recent papers, researcher Saul Justin Newman outlines the reasoning (and the evidence):
The demographic problem stems from the finitude of the human lifespan, and by the fact that exceedingly few people live past age 100. The (unintuitive) consequence is that the population of super-centenarians is likely full of fraudsters.
To see how the math works, consider the following thought experiment. Imagine that among the general population, a tiny fraction of people inflate their age by a decade in order to collect an early pension. At first, these fraudsters are vanishingly rare. But as time passes, the fraudsters become more prominent within their age cohort. That’s because, being a decade younger than their truth-telling counterparts, the fraudsters have significantly lower death rates. And so with each passing year, more truth-tellers die, leaving behind the population of fraudsters. When we pass the century mark, so many of the truth-tellers have died that only the fraudsters are left. Indeed, it is not unrealistic to think that everyone who claims to surpass age 110 is lying.
To back up the claim that many super-centenarians are fraudsters, Newman musters some noteworthy statistics. For example, in the United States, Newman finds that the number of super-centenarians per capita peaked just before the introduction of exhaustive birth certificates. And across regions in England, Newman finds that the number of super-centenarians per capita is associated with several measure of social ill. Regions with more super-centenarians tend to have higher crime, greater health deprivation, and bizarrely, fewer people over aged 90. In short, super-centenarians seem to be most common in environments that are conducive to pension fraud. So if you’d like advice about how to reach age 110, probably the best thing you can do is lie about your age.
Tellingly, some of the (ostensibly) oldest humans have had rather unhealthy habits. For example, Jeanne Calment, the French woman who is touted as the oldest human ever, apparently “smoked daily, drank daily, and ate around a kilogram of chocolate a week”. So either Calment was immune to the well-known effects of smoking and drinking … or she was a complete fraud.
The latter is surprisingly likely. A plausible scenario is that when Calment’s mother died in 1934, Calment assumed her identity to avoid paying inheritance tax. (Calment subsequently destroyed all her family documents.) A few years later, France was upended by the Nazi occupation, which would have made an identity switch easier to achieve. Of course, it is impossible to know the truth about Calment’s claims. But I find it more plausible that the smoking/drinking Calment died at the old (but still realistic) age of 99, than to have attained the unheard of age of 122.
At any rate, Newman convincingly argues that scientists who study the extremely old are gripped by a strong dose of wishful thinking, and that demography statistics past age 100 are rife with fraud.
World life expectancy at birth (Figure 1)
Life expectancy data is from Our World in Data.
US mortality rates by age (Figures 5, 8, and 9)
US age-specific mortality rates in 2021 are from the CDC,
National Vital Statistics Reports. I used data from
Table01, conveniently buried on this FTP server. I used series qx for
age-specific mortality rates.
International life tables
All other charts in this essay use life-table data from the United Nations World Population Prospects 2024. I used the table ‘Single age life tables up to age 100 – Both Sexes’. Specific calculations are as follows:
ex gives life expectancy by age for each
country/year. I calculate the global life expectancy at age 100 by
averaging across countries, weighted by their population. I use
population data from Our
World in Data.ex (life expectancy by age) measured at age 0.qx (age-specific probability of dying) measured
at age 0.qx (age-specific probability of dying),
measured at age 99.qx (age-specific
probability of dying). To smooth the mortality curves, I bin the
qx data by life expectancy at birth, grouped into
life-expectancy intervals of 0.2 years. Then I take the
age-specific geometric mean of the qx data within each
life-expectancy bin. In Figure 7,
I normalize these curves against the data for life expectancy = 35
years.qx) by life expectancy bins. Then
within each bin, I keep data for age 70 and up. If this empirical
data contains a point where mortality rates exceed 50%, I use the R
approx function to infer the exact onset of the
old-age gauntlet. If the empirical mortality-rate data never
crosses the 50% threshold, I fit it with a logistic function
(defined by the R function plogis). I then estimate
the onset of the old-age gauntlet using the best-fit logistic
function.dx — number of deaths by age. 1988
South Sudan and 2023 Monaco have the lowest and highest
(respectively) life expectancies recorded in the UN data.dx — number of deaths by age. (The age
distribution at death is equivalent to the distribution of
individual lifespans in the given year.) To calculate the Gini
index, I first create a Lorenz curve for the age distribution at
death. From this Lorenz curve, I measure the Gini index by
calculating the area under the curve. (To calculate this area,
I use the auc function from the R library
pracma.)
Note that because the empirical data is bounded at age 100, it
introduces a slight bias in the lifespan Gini index for regions
with a high life expectancy. (You can see this bias in
Figure 11,
where the age distribution at death in Monaco ends abruptly at age
100.) In Figure 12,
I’ve corrected for this problem by fitting the empirical
mortality-rate data (qx in each country/year) with a
logistic function, and then using this function to extrapolating
the dx series well past age 100. It is a fun exercise
in computation, but one that actually makes virtually no difference
to the resulting lifespan Gini indexes.
︎It’s also worth noting that once the perils of
contaminated water were discovered (by John
Snow in 1855), it took major prodding to get governments to
actually do something about the problem. For example, see George
Pinwell’s 1866 cartoon Death’s Dispensary.
︎
︎
︎
︎
︎
︎
︎Newman, S. J. (2019). Supercentenarian and remarkable age records exhibit patterns indicative of clerical errors and pension fraud. bioRxiv.
Newman, S. J. (2024). The global pattern of centenarians highlights deep problems in demography. medRxiv.
The post The Human Lifespan Probably has an Upper Limit … and Why That’s Good appeared first on Economics from the Top Down.
Rewiring Democracy Ebook is on Sale [Schneier on Security]
I just noticed that the ebook version of Rewriring Democracy is on sale for $5 on Amazon, Apple Books, Barnes & Noble, Books A Million, Google Play, Kobo, and presumably everywhere else in the US. I have no idea how long this will last.
Also, Amazon has a coupon that brings the hardcover price down to $20. You’ll see the discount at checkout.
Agency [Original Fiction Archives - Reactor]

An estate agent is forced to choose between a sale and his humanity when facing the inhuman eldritch forces that feed off rental tenants across the United Kingdom.
Novelette | 10,215 words
Mr. Three arrives fifteen minutes before his appointment, then rings the doorbell repeatedly. Three p.m. is a straightforward instruction, with no ambiguity, yet still the piercing sound ruins my concentration. Perhaps he’s hoping the extra quarter hour will help him discover the secret code. Maybe he’s hoping he can win me over, as if I’ve got anything to do with it at all, as if I’m anything other than a worm wriggling on the hook.
He leans on the doorbell again, an old-fashioned one, just a shrill bell echoing up and down the corridor, vibrating the nails of my headache.
I squint down at my phone, trying to remember the correct sequence of buttons, the glyphs that will let me pay off my credit card with the last of my salary. Has to be today or the interest payments mean baked beans next month. I’m taking slices off my debt pile, clinging on to solvency, just about. But a sale lives or dies on appearances. You win by manifesting the person you want to be—that they want you to be—so I have to bottle it all up for the clients. Mr. Three wants me to be fifteen minutes early. Mr. Three wants things on his time. Mr. Three wants an absolute kicking if he doesn’t stop ringing that bell.
The landlord calls me into the bathroom and shows me the state I’m in. I wet my hair down, shoot my cuffs, and straighten my tie in the cabinet mirror, making the best of myself I can as I peer around the distortions in the glass. It’s a cheap suit, and it never sits right, but it’s all I’ve got. This was my first permanent job straight out of uni and the only one offering a guy with a mediocre degree a hefty salary. I know everyone hates estate agents, but I never had a dream, just my student debt. There’s that second shadow on the wall behind me again, as if the mirror is giving out its own light. No time for that.
I open the front door to find Mr. Three leaning on the garden wall, flicking at his phone in the drizzle. ‘Nice and early, I see. Do you want to come in?’ He looks straight past me into the flat, mumbling as he shakes the rain off his waterproof. He’s lean, well-groomed, dressed in unremarkable office wear—a pastel cotton shirt, black trousers, black leather brogues—a man permeated with the quotidian. He should be Rafe’s client, but Rafe has fobbed him off on me. Single, fortysomething, buying past-sell-by-date pork pies for dinner. I see a man of restraint, routines and structure, regular savings and moderation. Fastidious. Immeasurably predictable. Hardly what the landlord is looking for.
I show him anyway.
The property is the downstairs flat of a Victorian terrace conversion. A long corridor reluctantly reveals a bedroom in the original dining room, a dining room—complete with a jug of wilting daffodils—in the original reception room and a kitchen where it has always been, although the bathroom extension into the garden is new. Fully furnished, integrated dishwasher and washer-dryer, access to the dingy garden shared with the landlord, who occupies the upstairs property. Recently repainted, with a particularly muddy red-brown accent wall in the bedroom, it will be several weeks before the mould becomes visible again, by which point the spores will have permeated the new tenant’s skin completely. They will carry the fungus out into the world, leaving traces of it across the trains, their place of work, their friends’ houses. They will hold it close under their duvet at night and coat their guests with every loving hug.
But Mr. Three is more concerned about break clauses than rising damp. He comments on the very competitive rent for the area. He can imagine his finances all the way to next year, while the ichor of blood sacrifices across centuries runs through the bricks and mortar he covets. He thinks wealth matters, that it will keep him safe. His kind are two a penny.
When I explain that all aspiring tenants must provide a written statement, take a breathalyser test, and provide a drop of blood he merely raises an eyebrow and says, “Is that all? The last place wanted my financial records going back three years.” I have to be more subtle normally, but there’s no risk here. I know the landlord won’t accept him. This meagre man.
I steal his breath, prick his thumb. He’s writing down his true names when the boiler releases a powerful crack. I’ve wasted enough of the landlord’s time. I usher Mr. Three out with the constant babbling of my trade, the next viewing arriving, stacked up all day, terribly sorry, such a popular property, call the office if you want to make an offer.
A gust of wind from upstairs slams the door shut behind him, and the pipes growl and creak around me. It’s got worse lately. Its hunger has been growing. Once, deep into a two-day bender I couldn’t afford with the guys from the agency—an early mistake, to think I could buy my way in—Misha whispered to me, “The more people there are on the planet, the harder they have to fight.” He blanched once he realised he’d said the words out loud, that he’d broken one of the covenants of his class. That was the night they brought me in, in a fit of MDMA brotherhood. In their drug-addled way I think they meant it as a sign of respect, that in another life I could have been one of them. The comedown was harsh, but it paled against Rafe’s grey face in the office the Monday after, when he realised what he’d done.
Things never change. Even though there are more have-nots than ever before, power like Misha’s lies in the illusion. They all live in terror of the landlords, and they all wish they could become one.
The game is bringing fresh meat to the table. Anyone can find tenants. It takes a finer touch to procure a feast.
The landlord keeps me busy after Mr. Three, just because it can. By the time I’ve ushered the prospect out the door and back to whatever grey iteration he calls a life, beetles and flies litter the property and a thick layer of grease is spreading up the kitchen splashback. Owning everything doesn’t stop them being petty.
I spend half an hour scrubbing the kitchen clean again, trying not to imagine what kind of fat it is. It’s stubborn, a bloody red-brown in colour, and the air tastes salty as I work. I sweep up all the insect carcasses, and dust down surfaces I cleaned this morning. I’m sweeping the hallway clean, almost finished, when he comes. It’s a tight feeling in my chest like always, a dank stink of panic before he enters me in that thick rush like I am a glove being ripped by ragged claws a sharp tug down my spine and the fit is snug the weight of a heavy blanket so warm in my bed at nigh—
I am an emperor begging for scraps. This is all you can offer? Do you dare to starve me? To draw my hunger out until I am forced to consume you simply to secure your silence?
Legions have crumbled under my gaze, the blood of continents has poured off my back like rain. This world was born from the darkness of my home. You are my subjects. You are tools at my disposal. You are the salt-and-wort tang of marrow in my throat. Your history is my banquet.
You know what I need. I must feed. Nourishment. To regain my strength and cut your plane asunder and open the door to home. Now, share my hunger, feel what waits behind the curtain. Beneath all you know, under the glimmering disorder of your world.
There, can you feel it?
You know what I need.
I peel my eyes open, my head throbbing. Things slowly come into focus, and I see a bright red streak on the corner of the radiator. Probing gently, I feel a sharp hit of pain above my hairline, my fingertips coming away red. I lift myself from the floor, wadding tissues to the wound to stem the bleeding. I watch the blood run back up the metalwork of the radiator as it is sucked into the bleed valve, every last drop.
I panic when I see more on the skirting board. Just ten minutes until the next viewing. I wipe it clean as best I can with more tissues, my stomach twisting as if a snake is coiling inside it.
I’m so hungry.
“Asda Spice called, he says he’s interested in the flat, but has a couple more viewings. Fucking tease, eh?” It’s Misha’s turn in the office today, so he’s running the phones. It’s Saturday, game time in our world, but Misha’s ahead on targets as always. He’s hungry, same as all of us, but gluttons can be lazy too.
Everything is on the line for me today though, last weekend before the salary run. I’m off my monthly and quarterly targets. No targets, no OTE bonus—no OTE and I’m back to syphoning fuel out of Rafe’s Audi to keep my car running. No company car with mileage for me, you have to earn that. Saturday is the day. Today. All the young professional couples are in a thousand knife fights for viewing slots. Everyone is ready to overpay for the prime locations, the recent refurbs, the fully-furnished local amenities and twenty-four-hour transport links. Just one weekend to get it done before they’re back to burning next week on the pyre.
I ask Misha, “You mean Mr. Three, right?” It’s easier to avoid real names, Misha is right about that at least.
“Hold on.” I hear pages being turned, then he says, “Three p.m., Tuesday. You called him ‘indigestible.’ The landlord wasn’t a fan then?”
“You could say that.” I barely slept last night, with my throbbing skull and the whipping ruination of my guts. The cut on my head doesn’t show to clients, at least.
It’s not the first time the landlord has taken its anger out on me. I’ve tried everything for my stomach across the last year—eating, not eating, probiotics, a high-fibre diet, carb loading, spirulina shakes, keto and paleo diets, the 5:2, milk of magnesia—but I still feel like mouths are birthing inside my bones one tooth at a time, feeding on my marrow like it’s egg yolk. “Tell me you’ve got something good set up.”
“Yeah, I do. Rafe handed one over last night. They’re in a rush and he’s booked up with the Anscombe-Branks couple. Said he’s already sampled and they’re ‘plump for it.’” Rafe is another public-school boy impervious to his averageness. His clients get names; they have futures. Misha’s run with him since they were kids. They’re both from families that have served the landlords for generations, this whole fucked-up social scene of intermarriages, secret handshakes, and disclosing which landlord they’re under before they make out. Kids born into it. Fucking travesty of a childhood, if you ask me, turning out these stunted little men who thrive on their inadequacies. It’s my sole consolation since taking this job—because I can never leave it now—at least people like Misha and Rafe finally make sense.
“Send them over. Don’t screw me on this one, Misha. I need the sale. The landlord is already talking about asking the agency for a volunteer.”
“Keep your merkin on, twinkletwat,” Misha laughs, but it’s hollow. We all know the stories, and we all believe them.
Don’t be a Barnaby, they say. They bat it about the office, braying like donkeys as they talk about old school friends and the depraved shit they did. Rafe was the one who told me what it meant, eventually.
Oh fuck, Francis, this is just the funniest fucking thing you’ve ever heard. So Tobias was the most extreme bender in the school. He’d stick his dick in literally anything. Once over the Easter holidays—his parents were on safari and Mummy had taken Father to Antigua for their anniversary—we broke into the school’s wine cellar and got absolutely rascalled on vintage amontillado, totally blottoed, and he fucked a loaf of bread right in the breadbin, then left it there. Pre-buttered toast! He’s such a fucking delinquent.
The morning after that, hanging out of a dog’s arse, Tobias’s got a telegram from his Mama—Uncle Barnaby had to volunteer. Total calamity for the family, obviously. Barnaby was doing super well until Black Monday, when he got wiped out. From star agent to impoverished cretin overnight, selling off his stockholdings and properties in secret until there was nothing left. He started turning up to work in suits from Marks & Spencer, if you can believe it—and, you know, there’s no coming back from that. Poor old Barnaby was given a choice in the end—and he bloody well stumped up. Took out life insurance then volunteered himself to the landlord. Tobias said his family ended up buying a house in Reading with the insurance. Poor bastards.
Poor Barnaby, if you ask me.
Misha says, “All yours. They’re booked for this afternoon.”
Misha sends over the written statements from Mr. and Mrs. Four-Thirty in advance, so I read them in the car, where I’ve parked several streets away. It’s over if they see me climbing out of my rusty, dented old Nova. They need to believe I’m one of them. He’s oversold it, he always does, but there is something there.
Mr. enjoys a career in finance with the investment branch of a leading multinational bank, where he is training to serve high-net-worth clients. He was cox for the college first boat, and played 1st XV for Richmond’s Under 21s. In his spare time he plays jazz saxophone (only at reasonable hours haha!).
That’s all in the past, now he spends fifteen hours a day in one of the glass-and-chrome prisons on Bishopsgate. Entry-level smell to him, fresh out of the packet. They mention the rowing at the beginning, while they still remember what it felt like to watch the sunrise over frosty meadows from the river. Still, his first job will out-earn everyone I knew at Oxford Brookes. One and a half miles, and generations of wealth separate us. It’s all about the pursuit of wealth for him, his path to success a coded labyrinth of status. It’s nothing as crass as money. He’ll earn a fortune and never be free to spend any of it.
Mrs. gained her MPhil in the radical political roots of sixteenth-century Japanese ceramics at Goldsmiths, where she worked with such artists as Beth Lo and Jonathan Yamakami. Her own work focuses on reimagining kintsugi traditions in the post-colonial Anthropocene spaces of twenty-first-century London, using materials such as reclaimed plastic and Victorian glass she finds as part of her amateur mudlarking team. She is a social media manager working for a major high-street biscuit brand.
She’s the catalyst, of course. Mr. drank the Kool-Aid, but Mrs. spent too long nurturing her essences to ignore them. All that hope and imagination will fester. She’ll start nesting and going out with new friends Mr. has never met, forgetting about kintsugi but taking up pottery, perfecting glazed marigolds on handmade teacups. Anything to fill the time as Mr. works longer and longer hours, then weekends and public holidays. As she realises she has more and more money to replace him with, and her specialised knowledge of obscure arts is cracking with age, and the only gold she has is wrapped tightly around her finger.
Rafe is right, give them a few years for their despairs to flower, and they’ll be perfect. But I have days, maybe hours. I get out of the car, straighten my tie in the wing mirror, and head for the property.
Mr. and Mrs. arrive on time, announcing themselves to the street with an avalanche of clattering heels and muttered swearing. They walk with all the arrogance of a young couple masquerading as shambolic—bickering and boundlessly confident.
The simmering resentment of their argument helps, so the door whispers open to a brightly lit corridor, the air soft and warm on the skin as they step in from the cool afternoon. The shadows of leaves dance on the hallway walls, hinting at an Arcadia just beyond the combi boiler. In the bedroom, bedside lamps cast friendly glows on the burnished terracotta accent wall, the newly made bed lacking only a chocolate on the pillow. The carpets are plump and fresh, like spring meadows beckoning bare toes to relish in their pile. In the dining room, a shaft of sunlight picks out the vase of pussy willow, complete with silvery silken nubs.
Mr. and Mrs. immediately fall into their roles, their conflicts suppressed so easily, and start planning out their new lives. Where their TV will go, “It’s 4K, 72 inches, total beast, you know,” and then the sofa, the prints, the cabinet for displaying Mrs.’s pots. How well their linen suits the walls, the red such a bold choice. Soon they’ve held dinner parties with Tracy and Alex and Alex and Alex. The tipped heads and laughs as they tell me, “We only make friends with people called Alex,” as they open kitchen cupboards, barely looking inside. “Just don’t tell Tracy, haha.”
Mrs. lets slip a hushed, perfectly enunciated, “Oh fuck,” when she opens the last cabinet and a sharp twist of metal from an old broken latch just inside the door bites at her finger. She sucks a drop of blood from the tip, and looks at me nervously. “Sorry, that hurt a bit.”
“It takes more than that to upset an estate agent, don’t you worry. We’ll get that fixed right away.”
Mr. isn’t paying attention to his wife, instead leaning over the sink to peer into the garden. The window is the only thing not gleaming clean. He huffs a heavy breath, which vanishes into the glass as the landlord steals it away, onto a smudge, and wipes with his sleeve to make a tiny clean patch. He can see thick brambles and tall grass. “Do upstairs not use it at all?” he asks.
“Not really, as you can see. Upstairs mostly keep to themselves. I’m sure they’d be delighted if you wanted to take it on as a project.” The couple flinch, Mr. gasping in shock, as an air bubble suddenly squeals through a pipe like a distant howling dog. “You would need to ask permission first, of course.”
Mrs. laughs and says, “He’s not really a gardener. More a concrete-it-all kind of guy, aren’t you, babe?”
He replies, “I could be up for it. Look, it’s west facing. Lovely light in the evening. We could have barbecues. I can finally show Alex how to make a proper burger. I have the best recipe.”
Mrs. continues to suck at her finger, which hasn’t stopped bleeding. She looks like a little girl upset at Daddy, while Mr. dreams of the man he’ll never be.
I tell them, “I’ll give you a couple of minutes to yourselves.”
Paltry morsels. I grow more hungry with every rotation of this pathetic globe.
I remember how it felt when we first saw your kind shining in the darkness. We grew fat on your souls even as you cowered. We were titans you dreamed of capturing in stories. You so few, but so bright. Swollen, fat with light in your hovels. You were succulent. Your essence cascaded through me as I gorged myself.
Endless forest covered this world, a vast animus that sang like the spirit shrikes of home, root and claw, earth and taint. But the parasite has no regard for the beauty of the host. You have sullied your flesh, made poison of your flesh. Your tiny cruelties. Cobbles and bricks and fire and concrete and cities and smog and wealth and cholera and poverty and rivers of shit in buried tunnels and vermin and rust and rot and mould and waste and tiny jealousies and gold and gold and gold and luxury and greed and ownership.
So little, made from so much.
My empire is reduced to solitary watchtowers. My army is a facile child. My altar this house.
Just once more. One great meal, and I will rip open the air, return to the beautiful shadows, where space is a dream, where all these limbs and muscles and flesh and blood and bodies are nothing.
I come to slowly, drifting in and out of the narcoleptic haze the landlord leaves me with after a consultation. It has returned to wherever it is it spends its time. It is dark. The Four-Thirties left hours ago.
I’m on the bathroom floor, so I push myself up on the bath to turn the light on. The bulb carves stark shapes from the room, leaving thick slabs of shadow behind every angle. In the mirror, I check the extent of the abuse. My face is sore, where I must have bruises forming. A whispery grey form behind me seems to caress my cheek. I double over as hunger staples my stomach into ever smaller pouches.
I breathe deeply until the pain clears. Eventually, I draw water from the sink for a drink, hoping I can trick my starving body into quieting, if just for a moment. Looking at the mirror again, I see my eyes are bloodshot, with shadowy bags underneath. And the dragged finger-mark smears on the glass tell me it tried to reach something in the reflection again. What is it looking for? Can it open a doorway there, truly? Does it just like torturing me? My stomach unleashes its fury again in all-consuming cramps. I need to sleep. To eat.
The doorbell rings. Strange. It’s late, early Saturday evening. Nothing is booked. My clients are all preparing for nights out with loud music and shitty coke. I check my phone—no messages from Misha. I head for the front door, leaning on walls to stop myself tumbling to the floor.
I open the door to find a woman who looks as exhausted as I feel. Forty-something, mousy hair, on her way to curvy, dressed in high-street denim. I doubt she can afford this place. She was pretty once, past the wrinkles that have consumed her youth, under the black bags of her eyes. Her hair is loose around her shoulders, the collar of her jacket high and buttoned closed. She quivers, like she’s on the cusp of screaming.
A tiny face peeks from behind her thigh—snotty, tearful, and full of the remorseless sorrow of a child. The woman breathes in sharply, spreading her hands to grab the invisible reins of the doorstep, as if she’s afraid it will buck and throw her back to the kerb. “I saw the sign. The ‘to let’ sign. And I saw the light on. I thought maybe I could . . . Could I? Bit of an emergency, really.” Her smile is all mania and fear.
It’s time for me to be knocking off and getting what sleep I can before Sunday’s viewings. Behind her a group of lads walk along the street, chattering like rooks, no doubt heading for the pub. It’s the time when the drinkers annex the streets for another night. No place for a child. I need to go home, swallow as many painkillers as I can, and force down whatever food the landlord will allow me. Wash. Try to sleep. But the way this mother keeps shooting glances over her shoulder gets to me. It’s not those lads. She wants to be off the street.
I step back, and welcome her in with an arm. I say, “Sure, I’ve got a bit of time, nothing planned for tonight anyway. Let me show you around. It can be a lovely place, for the right viewers.”
She scuttles into the hall, pulling her daughter with her, and shuts the door quickly. Her eyes linger on the locks an extra moment, as if she’s memorising each one, learning how it can be opened. Lost in a private catechism, she gives herself permission to breathe again. She rests both palms on the door for a moment, then says, “Love the place. How much is it? I can move in tomorrow, all packed and ready to go. I can pay the deposit, I’ve got some money put aside. Really, honestly. How much is it?”
“It might be best if you can call the office in the morn—”
“No! Sorry, no. I need a place right now. I’ll sign whatever you want. Please.”
She pushes past me down the hall, turning sideways to fit through the space, so that her jacket catches, the button at the neck popping open, giving me a flash of finger marks on her throat. Dark, livid, deep. She quickly closes the buttons and disappears into the kitchen.
I bend down to the little girl, who is still in the hallway with me, smile, and put out my hand for a shake. “Hello, I’m Francis. Do you want to live here with your mummy?”
The girl looks past me, then runs after her mother in silence. I follow through the door to find the girl tugging her mother’s elbow and whispering loudly, “I don’t like it here, Mummy, I don’t like it.”
Behind them, in the bathroom, I see an oil-thick shadow vanish through the doorway, catch a glimpse of a baleful red eye blinking closed in the cabinet mirror.
The landlord never comes to the property until it’s ready. For it to show itself now means . . .
I walk over to them and start to lead the pair of them out of the house. The mother tries to shrug off the arm I extend over her shoulder, then grunts in pain and shock as I shove her into a wall. “Sorry, but actually I can’t have you here. I’d lose my job if they thought I was doing things off the books.” At the door to the hallway the mother starts to push back out of some instinct for resistance, punching me weakly with a courage she is clearly still new to. The girl is retreating down the hallway, turning to the front door to open it.
There is a loud thump, as if a wardrobe fell to the ground upstairs, followed by the sound of something heavy dragging across the floor, just once. Chilly tendrils reach for my back, scraping at my skin with a slick, viscous quality. My skull tightens, as if claws are squeezing me, and the tips are chiselling into my temples and in the centre of the fractured seam at the top, my fontanelle, where once a throbbing membrane of skin was the frailest of partitions between my mind and that which is.
I grip the doorframe around me tightly, feeling my nails digging into the wood, splinters shooting up into the nail beds. The pain—the physical pain of my body—gives me focus, pulls me back into myself. I keep clawing at the wood, dragging the flesh and bones of myself over the threshold, reclaiming myself from the landlord one traumatised nerve at a time.
From the garden path, the mother stares at me in anger and confusion at her eviction.
I tell her quickly, while I still can, “We’ll get you signed up tonight, not a problem. Come with me to the office so we can do all the paperwork.”
The mother breaks and she starts sobbing openly with relief, a lightness in her voice as she starts thanking me over and over. I barely hear it, just usher her out of the garden, telling her to wait there while I lock up, how we’ll go to the agency straightaway, this endless gabbling sales patter coming out of my mouth while I’m focusing all my will on pulling the door shut behind us.
The pain in my guts expands to fill my entire torso, bubbles of agony bursting in my lungs. I feel like a constellation of flesh. I burn with an acidic compulsion to go back into the house, my feet dissolving with every step I take further away. The tendrils have thickened to tentacles, wrapping themselves around me, ripping away my skin then immediately coiling around me once more like an insatiable polyp.
Somehow, I stop myself from screaming.
Her.
The child.
Now.
Misha looks up in a panic as we walk into the office, scraping the line on his desk into the bin. The mother and girl wait nervously by the entrance as I walk to the back to talk to him. He bats his nostrils back and forth, sniffing repeatedly and says, “What you doing here, Frankie? Past business hours, I’m closing up in a minute.”
“Big night planned, is it?” Of course it is, always is for his type.
“Just wrapping today’s sales. Rafe did Tiverton Street. Two hundred over asking, drinks to celebrate, you know how it is?”
“Thanks Misha. I didn’t, but I do now.”
“I’m not doing new clients. Lionel’s got the morning, saddle him with it. Come spend some time with the lads.”
It’s said out of good form as much as anything—there’s no expectation that I’ll actually go, or that they’d be happy if I come. I can’t afford their lifestyle, and they don’t understand mine. It’s just how it’s done. I don’t give a shit though, I need him gone. “I’ll do it, got a good feeling about this one, you know? Leave the sales, I can do those as well.”
Misha doesn’t hesitate for a second, breaking out a Harley Street smile and saying, “Brick. You’re a total brick, Frankie. I owe you one.” He swirls his coat up off his chair and shoots out the door to whatever basement cocktail bar Rafe found on TikTok this week.
The landlord’s grip on me weakened as soon as I made it out of the house. It knows I must bring it what it wants through official channels, that it can’t risk close investigations of the flat, so it had to let me go. Even so, I feel weaker than ever.
I slump into my chair as the mother and girl settle into theirs on the opposite side of the desk. The mother keeps her coat buttoned tight, sitting ramrod straight on the edge of the seat. The girl frets the cuffs of her coat, tugging at a loose thread in silence.
I search our list of active properties, hoping it’s still available, relieved to find it is. None of the guys care about filling it, the owner being a human. Worst of all, a human who has given us explicit instructions to hold the rent below market rates. One Mrs. Whetherell, owner of the two-up terrace next door to hers, her mum’s old place, empty since she bought the neighbouring property and moved into that. This lady has lived either side of one wall her entire life. It’s small but clean, in good school catchments, but is too far from the station to attract commuters. The photos show ’70s textured wallpaper, swirly brown carpet, and commemoration plates on the wall for every royal wedding—at least until Charles and Camilla. And there’s a vast wealth of shortbread available for anyone savvy enough to compliment her baking.
I take down their names—Maisie is the mother, Alba the girl—and just a few more details, trying to avoid it coming across as interrogation. She’s been through enough. The bruises on her neck are like ink stains from a glove.
Maisie breaks down when I eventually show her the property and she hears the price. Maisie needs a place to live, not a manifestation of ambition in brick and designer furniture. She needs a door she can lock. She needs to be able to take a breath and know that the next will happen just as easily. Mrs Whetherell just wants nice people to live next to her. Mrs Whetherell just wants some company.
Maisie hugs her daughter tightly and says, “We’ll be okay, honey. We can make this work. New school, new friends, new start.”
Alba whispers back, “I don’t want new friends, I already have friends. I don’t want to move, mummy.”
“I know, darling, but we have to live somewhere new. Now that daddy is sick.” She looks up at me, pleading with me silently to condone her deception. Begging me for mercy, as if I am master of her destiny. All I do is let flats, and lie to people.
Alba asks her mother, “Is this going to be like the other house? I didn’t like the other house. The bathroom troll was scary.”
“What bathroom troll, darling? You didn’t even see the bathroom.”
The girl clams up and glares at me with the fury her mother should be letting out. She knows, fuck knows how, but she does. I wish it was a troll, something contained within arms and legs and teeth. Something that could be killed. If she knew what that splintered orb in the mirror belonged to, the swollen protuberances of its limbs, the endless twitching tentacles, the tiny biting mouths that open up at random across its body.
I don’t even know how many of them there are, how many companies exist to serve them. What if they’re everywhere, hiding under factories and warehouses as well? What if my one is the runt of the litter, a bullied god of hate punching down. I checked the agency records once but they’re encrypted, so I only know the entity that uses me as its tool. I hope that they only exist in this country, that there are places free of their infestation. I pray, though I know it isn’t true, that I’m the only slave they control. I don’t even have a name for them, despite how intimately they violate me. It’s different for Rafe and Misha; his kind are employees, inheriting that fig leaf of freedom. Rafe told me that I’m the only person they’ve told the truth, that no one else outside their families even knows they exist. I’ve been fucked ever since they got me high and opened their box of secrets to me. Flushed with serotonin, my saucer eyes gazing into the abyss, they told me we were brothers, joined by something greater than us, and, fool that I was, I believed them. All I know is that without them our agency would shrivel and die, shutters pulled on shiny offices across the city, maybe the country. Inheritances would evaporate. Misha would need to pick a cheaper drug habit, or find another host company to burrow into. Rafe would float on into another fortune, impervious to it all. The other junior agents—the ones who believe all we do is let flats—would need to get actual jobs, and I, well, I pray for it every day.
I’ve seen the glistening flesh of a boneless snake running through the pipes, drinking down the effluence, every drop of piss and blood, every scummy-watered bath. I’ve coddled nervous tenants, telling them that the noises from the roof are anything but ravenous creepers, a multitude of them hunting with one mind, each little more than claws and scales and hate. I’ve tutted and sighed about sound insulation when I know the bricks whisper and scream and fight and smash and howl in their dreams every night. I’ve prattled on about architectural oddities causing feelings of claustrophobia, as the very space around us is being chewed upon like cud, and the room sucks the life from its inhabitants in a desperate act of self-preservation. I’ve watched people twitch and fidget, their hindbrain knowing something isn’t right even as they tell me they love the place, not feeling everything reflecting back on themselves, their thoughts gulped down and spat out half chewed, their hopes and souls flayed in layers so fine they never notice how they are diminished, how every sudden draft passing over them is another piece of their essence consumed by the landlord.
I realised, after a few weeks working at the agency, just how many I have lived with in my life. All the shitty house shares I’ve tolerated. The years my asthma flared up, my eyelids erupting into hives with allergies, the smothering weight of depression trapping me in my bed. The country has been infested with them for centuries, but only now I know they are there can I see them. Now I’m like Rafe’s lot—profiting by helping the parasites. The obscene cost of renting a home is the final insult—the banality of hiding darkness under the naked cruelties of money.
I used to think that I was responsible, that my choices had some kind of effect. But there is no choice, not while the landlords are still here. Not while a few people can get rich.
That’s what I think as I look at Maisie hugging her daughter tightly, lest the wind rip her from her arms. Nothing I’ve done can be changed. I’m complicit, just like we all are. All I can change is what I do next. Maisie has escaped, and Alba has never known anything else.
I can’t give them to the landlord.
It’s past 10 p.m. when I unlock the door of my one-bed flat on the edge of the industrial estate near where the bypass spews endless traffic into the city every hour of every day. It was sold as a new-build years ago, morphing into something uncategorised and undesired now that the newness has worn off. It’s a shell at best, full of draughts, leaking seals, and cracked housings on the appliances.
But that’s it.
With my parents, content with their middle-class careers in the town hall but all their wealth tied up in equity, a mortgage is an impossible dream for me. The Bank of Mum and Dad is already in hock. So I am slaved to the indenture of my home, paying rent on credit and paying off the credit with my salary. If I pay to have the mattress steam-cleaned I can’t pay for a dehumidifier to stop the mould. Do I fix a leaking washing machine or the dripping cistern that stops me sleeping? The lock on the front door or the bedroom window? Why bother at all when the frames of both are warped?
I kick the clothes strewn across my bedroom floor into a pile and straighten the bedding, as Maisie follows to lay a barely conscious Alba down to sleep. I head for the kitchen as she settles her daughter, looking through the cupboards for anything I can make dinner from. Tomato puree, a huge bag of paprika I’m sure was here before I moved in, and one tin of red kidney beans. The fridge is empty except for a can of Red Bull.
I close it and turn around to see Maisie standing in the doorway, studying me. She’s taken her coat off at last, tucked her hair behind her shoulder to reveal the extent of the bruises. She fronts well, not showing me any weakness. I take my keys from my pocket and slide them across the tiny kitchen table towards her.
“That’s the only set. No bolt on the bedroom door, but there’s a few weeks’ worth of laundry you can block it up with. I’ll sleep on the sofa.”
She picks up the keys in silence, coils a fist around them so the stick out between the fingers. “What do you want from me? What’s the price?”
“Nothing.” Penance. Salvation.
She sniffs, looks back over her shoulder to the bedroom, hearing the twist of duvet or some tiny whimper from Alba perhaps. “You try a single fucking thing and I will kill you in your sleep.”
I nod, not really sure what to say.
She takes a moment longer to think, then says, “Do you want some dinner?”
I am a hollow ghoul, thinner than I have ever been. I’d chew my own fingers to the bone if I thought I could keep it down. Christ knows what I look like to her, taut and shivering with nerves, hunched over the vacuum of my stomach. “Can’t really cook much,” I confess.
“I can cook.”
“There’s nothing in the house anyway.”
“You look hungry, you know. Like . . . I mean, not well.”
She makes me laugh, despite it all. Not well. As if there’s a cure for what I have. But people do eat, normal people at least. That’s what I should be doing, and maybe that’s what she needs. A normal night doing normal things.
I grab my coat, check my wallet is in there, and say, “I’ll go buy some bits. Buzz me back in, yeah?”
She nods, something in her relaxing as she realises I’m leaving her in my home. That I’m offering my secrets up to her, without asking her any questions. That she can lock me out.
I squint against the bright lights of the corner shop as I fill a basket with vegetables and chicken, trying to remember what a meal looks like. The tightly stacked rows of boxes and tins, with their glossy images of meat, fruit and vegetables look like the building blocks of something I no longer understand.
Back at the flat I find Maisie drying my pans, the kitchen newly cleaned. She takes the bag and waves me to sit down with a soapy hand. She works in silence, and I am too tired to ask any questions. My life is an endless, meaningless chatter, and I already know everything I need to know about her. The next half hour is filled with scents as she prepares a meal. Simple, homely, rich herby smells that fill my house and my head.
When she puts the plate in front of me I am surprised to find myself hungry, my stomach gurgling in anticipation. I take a fork and lift a tiny amount to my mouth, blowing gently to cool it. Maisie watches me keenly, and there is little trust in her silence. She stands leaning against the counter, my chef’s knife next to her. She’ll barricade herself in with her daughter until morning, I know.
But first, I eat.
The Four-Thirties are holding hands and harmonious when they arrive for the second viewing. Rehearsals went well then. They are dressed for a party—Mr. in chinos and a pastel shirt, a jumper most unironically over his shoulders, Mrs. in a flowing cotton Laura Ashley dress and bright green wedges—their chat all reminders that Alex is a stickler for punctuality, not like Alex, haha, oh Alex, at least Alex buys Sabra hummus, none of that wallpaper paste they sell at Sainsbury’s, haha. Mrs. runs delicate fingers capped with immaculate nails—and a sticking plaster—over the furniture as she chatters, a mantra of privilege I’ve seen a hundred times.
This time, they play their parts perfectly. Mr. goes out into the garden, treading down the brambles, and maybe he doesn’t hear the chitters and rustling of vermin in the undergrowth, because he comes back tutting and wiping his hands like a mechanic hoping to fleece some old dear out of their pension. “It really would be such a lot of work, almost worth a reduction in the rent, haha.”
Mrs. is waiting for him in the kitchen, peering at the boiler with feigned comprehension. She turns back to me slowly, leading with her head, her finger lingering on the fitting with a languid ease. “When was this last serviced? Really, we were expecting a heat-exchange system at this price.” Behind her, the shower curtain flicks out of the bath like a snake’s tongue. “It’s draughty too. When did you say the windows were installed?” They are full of their parents’ standards, hoping to shape the world the only way they’ve been shown how.
The shadows in the bathroom strengthen, pulling in more light, as claws scratch at my temples. The Four-Thirties have misread the power dynamic, and failed to account for all factors. They think they’re up against me and my cheap suit. Misha has told me how none of the landlords like negotiating, and that this is one of the worst—it despises anything other than total acceptance of its terms. Wheedling and bargaining hastens its hunger, shortening the eventual tenancy. Talk of rights and duties sparks cacophonous outpourings. The sacrifice must be willing.
I usher Mr. and Mrs. away from the bathroom and back to the front bedroom, where weak sunlight barely pierces the growing gloom. We file into the room, the couple settling into the angles of the bay window, and convene around the bed under the sodden pottery colour of the accent wall. They share a quick glance, Mrs. giving a barely perceptible nod, revealing which of their parentage carries more weight. Mr. beams back at her, stuffing his hands in his pockets to hide his excited fidgeting. Mrs. is more restrained, offering a tiny smile as she says, “We’d like to make an offer. How many other viewings do you have?”
“Just a couple more this weekend,” I say, swallowing a retch. It would make no sense to them, how little their money changes things here. I long to scream, “Yes, take the fucking flat! I hope you both die in this bed,” except long, hateful fingers are squeezing my chest and pushing me into the carpet. My body doesn’t feel my own as I say, “I have to finish this round of viewings. Give me a call at the office tomorrow, and we can talk it over then.”
They are clearly at a loss as I usher them to the front door. Now, finally, they have noticed something that isn’t right. A sacred covenant has been broken, that of wealth’s command. They carry the petulant faces of children first encountering the banal horror of the world, their toys no use out here. Mrs. looks back into the bedroom one last time, her gaze on the pillows so fat and welcoming. She is dreaming of mornings they would spend here, stories to tell their future children. Except her father didn’t warn her about mattresses. Fathers only ever think about boilers. They don’t like to think about their daughters all sweating and drooling and fucking on the same mess of fabric and coiled metal; they forget about legions of mites and worms and parasites that colonise the spaces closest to our skin; they cannot imagine inhuman intelligence permeating our flesh and coiling around our inner beings with every slumbering breath.
I follow them, keeping my gaze on the couple, out to the street as I lock the door. The landlord has to let me go, but it still tears at me as I deadlock the door, my skin feeling so tight it might rip, my fingers splaying against the dank paintwork of the door.
Feeling like I am pulling a tooth from a jaw, I tug the key free.
All my power pushed into so little flesh. So weak, incapable of mastering even yourself. How dare you be so tiny, so undeserving. What use are you? What function have your kind? What indignity that we even converse, you protoplasm, you molecule, you prion.
Civilisations have waded through mud in my honour. I have bathed in the souls of creatures who barely knew my name as a whisper in the darkness. I was adored, enduring their outpourings of love like the filth it was.
Yet you, mote, feel me within your skin. You, atom, defy me.
You will bring me the mother. I will have her child.
Then I will sear every particle of your being from this plane. I will sunder your essence into a multitude of sufferings and cast them across the fields of home.
Eternity will be yours.
Mrs. Whetherell slides a plate (Elizabeth II and Philip, original judging by the aging of the gloss) of chocolate chip shortbread towards Alba. The girl has opened up in her presence, a willing victim to Mrs. Whetherell’s ancient magics.
Mrs. Whetherell then offers a shortbread to Maisie, and lastly me. “Come on, lad, you look a bit peaky. I’m not one to brag, but these shortbreads were good enough for a Lord in 1987.”
“They look fresher than that,” I say with a wink.
Mrs. Whetherell laughs and says, “You wicked boy. Asda’s garibaldi’s for you, then! Only good boys and girls get my shortbread.”
I laugh for the audience, but the early morning sun cuts through me like a knife. Or maybe it’s easier to blame the light for how the darkness is slicing me up. It’s all I can do to sip water.
The landlord is weaker here, on the other side of town. But it still wants my attention every second, and I can feel it scratching across the roofs, up and down the streets, searching for me.
I leave them to bond, barely able to concentrate on talk of schools, homework, and favourite animals. I’m not needed any more. I’m nothing more than a glorified administrator now that I’ve arranged the introduction. But when Mrs. Whetherell says, “What made you decide to move with the little one?” I jump into Maisie’s moment of hesitation. I can see how the question drags her back in an instant to the violence she’s desperate to escape. Violence that is still happening for her, right now. I can see her trying to condense everything that led her here, with just Alba’s ragged unicorn, a rucksack of clothes, and her bruises, into the words that will convince this kindly old lady to take her in. But she can’t speak without ripping her heart out of her chest and dropping it onto collector’s china, to drip blood between biscuits and royal paramours. Maisie has lived by will alone for who knows how long. It’s clear to me she’s not even sure she made a decision, or if she just ran. So I speak for her, I take that choice away from her. I manipulate people, no doubt about it, but sometimes I can do it for the right reasons.
I lean over to Mrs. Whetherell, giving a conspirator’s wink, and tell her, “They’ve been looking for somewhere quiet, away from the noise. They’re knocking down some ex-local flats next door—the solid ones from the 1950s, they don’t make them like that any more do they, Mrs. W? You know those new apartment buildings, no sound insulation at all. It’s diggers and cranes all day. Add in one bad neighbour and . . . They get so much homework, from such a young age these days.”
Exactly on cue the granny I wish I’d had tips her head and says, “Aww, poor pet. It must be so hard bringing up the little one like that. Have you a garden? No outside space? That won’t do, the little ones need to be outside.”
“I know you’ve been looking for some nice, trustworthy tenants, and I’ve known Maisie and Alba here for years.” Maisie shoots me a glance, surprised at the ease of my lies. “To tell you the truth, I got them that last flat. I didn’t know about the new developments, and we had no idea what the neighbours were like, I swear. I’ve felt awful ever since. But then I realised, I could make it up to them both . . .”
She swallows it all, of course, and Maisie keeps her lips clamped shut. Mrs. Whetherell lives in a world where dishonesty is a thing for television and the newspapers. People don’t really lie to each other, not real people. No one could ever look a mother in the eye as they’re gouging her for every penny she’s got. No one would hit a child.
She pats me on the hand and says, “It’s not making mistakes that matters, but what you do after. Bless you, my boy. Now, you two young ladies, would you like to come see the garden? I hope you like strawberries, I can never eat the whole crop.”
They head into the kitchen, following the lingering smells of baking out into the sunny garden. They are already meshing into a new family, both Maisie and Mrs. Whetherell smiling as little Alba dashes out the back door, turning back to beam a smile at us all before skipping onto the lawn.
I can’t watch them for long. Something about the purity of the scene makes my scalp itch. It’s like happiness can’t find a home in me and instead is crawling the inside of my skull in search of an escape route.
I retreat to my car, planning to confirm bookings with more young couples, more new builds, more prefabricated units, more tributes. But as I settle into my seat my phone rings, an unknown number.
“Is that Francis?”
“Speaking, who’s calling?”
“It’s about the flat. I’ve been looking over a few numbers and, well, I would like to make the landlord an offer.”
Mr. Three. Lionel probably gave him my number, the conniving little shit. And Misha put him up to it, I’m sure. “I’m not in a position to negotiate. You should speak to Lionel in the office.”
“He told me to call you. It’s a good offer, fifteen percent over. It’s a good price. You won’t get more that far from the station.”
The tone of his delivery is quite incredible. In his mind the conversation is already complete, and we’re just going through the motions. “Really, I can’t—”
“How about I mail it over? I’ll do that now. Okay?”
It’s the way he says “Okay?” that triggers me. The exactitude that would flatten my agency, render me just a tool at his disposal. People shouldn’t be used. People shouldn’t conform to tiny expectations. People should be wild and unpredictable and fierce.
I hold the phone before me, surface to the sky like a prayer as I respond: “I said no, so fuck off.”
I hang up.
The coat hangers scrape at my skull the moment I get out of my car, dragging me towards the door of the flat. I brace against the vehicle, dry-heaving a wisp of tar, when my phone pings loudly. Misha has sent me the tenancy agreement for the Four-Thirties, agency boilerplate locking them in to twenty-four months, with rent reviews at months twelve and eighteen, and no right to appeal. He included one of his usual inspirational notes as well: Fuck-de-doodle me, golden-nips. You suddenly grown a pair? You might just last in this gig after all. That or two hundred carnations for mumsie next week. I’ve got £100 with Clarence you don’t sign it, so chin up, my proley baby. M xoxo
The truth is I’ve never heard of anyone attempting to force a tenant on a landlord. Rafe has joked about it once or twice, in a fit of coked-up bravado late on a Friday night, but it’s just one of a multitude of empty brags that he spouts. He struts like a cock when it’s just us in front of him, but I saw how he looked the night he came back from Beulah Road after the tenants vanished. Ten days they’d lived there, not even a fortnight. He never said what happened, but he was as white as ash, and he shredded the invoice from the cleaning agency before any of us could see it. Something broke inside him that night; an essential part of his inhumanity collapsed. I think all the stories came true, all at once, and he didn’t like the feel of blood on his hands. I’m sure Misha thinks Rafe lost his nerve, but I think maybe he finally found a little bit of it. He called his dad and started handing over clients shortly after.
But something has to change, we can’t all be slaves to so few masters. The landlords don’t eat us all, so maybe they can’t, maybe that’s the great lie they hide with violence. There has to be hope.
For now I wait, leaning on the garden wall so the landlord can take reassuring nips, and know I’m in its grip. I watch pigeons peck discarded fried chicken at the bus stop opposite. A butterfly strays into the road, buffeted into oblivion by a passing SUV. Overhead, an endless sequence of planes jettison carbon dioxide into the upper atmosphere. Life continues.
Eventually, the Four-Thirties arrive, proceeding down the footpath hand in hand, strutting like they’ve just arrived from a photoshoot. Mrs. has an improbable curl in her hair, while Mr. has a box-fresh fade, the curly thatch on top preserved with all its manufactured misdemeanour. Their gloss and makeup don’t quite hide the bags under their eyes, but otherwise it’s a perfect performance. They look like the affluent boomers their parents are, that they’re one inheritance away from becoming.
I run them through the contract in the garden, trusting in momentum and a confident delivery to stop them asking to go inside. Not yet, I need one more thing. “If you could just sign here and here.” They extend long, elfin fingers to complete their covenants on the tablet. Mrs. signs first, the sacred acts reduced to tutting and clumsy thumbs. Mr. may as well be at nursery making finger paintings. No matter, the deeds are binding however crude their assent. I tap Submit, sending the landlord its notice of the new tenants.
I know it’s coming. I know this pain. I hiss through my teeth anyway, as the landlord’s fury takes hold.
Mr. and Mrs. exchange a worried glance as they take the keys from my shaking fingers. I don’t hear anything else. Maybe I waved them goodbye. Maybe I wished them well in their new home. Maybe I slipped through the cracks in the paving. Maybe I was sucked into the bowels of the earth by a ravenous claw, to suffer my punishment. Maybe the landlord tossed me away like a bird’s carcass. I know I next feel myself slumping against the car door. I open it and curl up on the back seat wrapped around the nimbus of my stomach the acidic knot the pain is like nothing else a vast wall shutting out the heavens shutting out the heavens shutting out us all a whipping lash of hot wire coiled through my arteries I am become rage—
The wall flashes by at unimaginable speed, scales the size of cities shatter the clouds this world is dark and pungent and not mine this inconceivable edifice hurtles into space the scales the scales so many scales this behemoth has swallowed god and it turns now I see I see too late I am not my own I belong to this and it opens an eye the size of eternity and gazes down on me alone mote nothing in all this creation other than—
You own nothing.
You are mine.
That moving house is stressful is well-known these days, but Anna and Michael are proud of how they deal with the job together. They save money by doing it all themselves, rather than booking a removals service. Instead Anna borrows a van from a local branch of Daddy’s company, and they graciously accept Alex’s offer of help with the boxes.
Moving in summer means open windows with the radio tuned to Magic FM. Bill Withers reminds them it’s going to be a lovely day as Anna unpacks the Wedgwood dinner service, the Le Creuset dishes and the carbon steel pans. Michael sorts the books by colour (something Anna saw on Instagram and loved the idea of) on their mahogany shelves, those a wedding present from Auntie Moll.
They end the first day with pizza from their new local wood-fired oven takeaway, sipping one of their Viogniers they normally save for Alex and Alex, but the rest of the wine hasn’t chilled yet, and they’re celebrating, just such a shame the nice wineglasses are at the bottom of the pile of boxes in the kitchen right now. They won’t get to them for another two days, distracted as they are by making the bed and sorting the wardrobes out and taking a break to walk in their new local park before sharing their first shower in their new home, slippery hands running across each other’s bodies with giggles as the spores drift in the air, catch in the water, and are massaged into their skin lovingly.
Feeling naughty, they dash naked through the flat to the bed, toss the duvet off, and exhaust their lust in a tangle of limbs and water. They doze after, at once sated and filled with cupidity.
Gently, Michael is the first to cough.
“Agency” copyright © 2026 by George
Sandison
Art copyright © 2026 by Jamie Keenan
Security updates for Wednesday [LWN.net]
Security updates have been issued by Debian (kernel, linux-6.1, munge, and tcpflow), Fedora (accel-ppp, atuin, babl, bustle, endless-sky, envision, ettercap, fapolicy-analyzer, firefox, glycin, gnome-settings-daemon, go-fdo-client, greenboot-rs, greetd, helix, hwdata, keylime-agent-rust, kiwi, libdrm, maturin, mirrorlist-server, ntpd-rs, ogr2osm, open-vm-tools, perl-App-Cme, perl-Net-RDAP, perl-rdapper, polymake, python-requests-ratelimiter, python-tqdm, rust-add-determinism, rust-afterburn, rust-ambient-id, rust-app-store-connect, rust-bat, rust-below, rust-btrd, rust-busd, rust-bytes, rust-cargo-c, rust-cargo-deny, rust-coreos-installer, rust-crypto-auditing-agent, rust-crypto-auditing-client, rust-crypto-auditing-event-broker, rust-crypto-auditing-log-parser, rust-dua-cli, rust-eif_build, rust-git-delta, rust-git-interactive-rebase-tool, rust-git2, rust-gst-plugin-dav1d, rust-gst-plugin-reqwest, rust-heatseeker, rust-ingredients, rust-jsonwebtoken, rust-lsd, rust-monitord, rust-monitord-exporter, rust-muvm, rust-nu, rust-num-conv, rust-onefetch, rust-oo7-cli, rust-pleaser, rust-pore, rust-pretty-git-prompt, rust-procs, rust-rbspy, rust-rbw, rust-rd-agent, rust-rd-hashd, rust-redlib, rust-resctl-bench, rust-resctl-demo, rust-routinator, rust-sccache, rust-scx_layered, rust-scx_rustland, rust-scx_rusty, rust-sequoia-chameleon-gnupg, rust-sequoia-keystore-server, rust-sequoia-octopus-librnp, rust-sequoia-sq, rust-sevctl, rust-shadow-rs, rust-sigul-pesign-bridge, rust-speakersafetyd, rust-tealdeer, rust-time, rust-time-core, rust-time-macros, rust-tokei, rust-weezl, rust-wiremix, rust-ybaas, rustup, sad, strawberry, systemd, tbtools, transmission, trustedqsl, tuigreet, uv, and vdr-extrecmenung), Oracle (brotli, git-lfs, java-1.8.0-openjdk, kernel, libsoup, libsoup3, nodejs:24, python3.12, and thunderbird), Red Hat (fence-agents, python-urllib3, python3.11-urllib3, python3.12-urllib3, and resource-agents), SUSE (avahi, cups, freerdp, golang-github-prometheus-prometheus, java-11-openjdk, java-17-openjdk, libsoup2, libxml2, and python-pip), and Ubuntu (expat, glib2.0, and imagemagick).
Organizational Strategies from the Collective Wisdom of Nature [Radar]
Circa 2016, a logistics company was drowning. Their centralized routing system—the kind most enterprises still use—couldn’t keep pace with millions of daily deliveries. Managers were making routing decisions through layers of approval. Response time measured in hours. In ecommerce, that’s death.
Then they did something counterintuitive.
Instead of building a smarter central command, they dismantled it. Thousands of delivery drivers were told: Take the shortest available route you see, avoid congested zones, coordinate with your neighbors. Ignore the central system if it makes sense to ignore it.
The first week was chaos. Drivers felt unmoored. They’d been trained for years to defer to authority. But the second week, something shifted. Drivers started talking to each other, sharing what they learned. Within months, delivery times dropped 15%. Fuel costs fell 12%. And the system became more resilient to disruptions, not less.
The system reflected one of nature’s key coordination models: swarm intelligence—the collective behavior of thousands of simple agents following basic local rules and producing astonishingly sophisticated global outcomes. Of course, this wasn’t swarm intelligence in the purist sense. It was something more practical: centralized optimization with locally adaptive execution. The routes were still computed by HQ algorithms, but drivers had authority to deviate based on what they observed. This hybrid model—plan centrally, execute locally—outperformed purely rigid centralization.
This matters. Because most organizations make a different mistake: They assume every problem requires either total central control or total decentralization. The reality is more nuanced. Still, the point remains: The natural world offers a range of coordination models your organization can learn from as you address the specific challenges you face.
A leafcutter ant colony doesn’t have a CEO. No board meetings. No quarterly planning sessions. Yet somehow thousands of ants coordinate to strip trees and farm fungus underground with mind-bending efficiency.
A school of fish doesn’t vote on which direction to swim when a predator appears. No consensus process. Each fish simply watches its three nearest neighbors, maintains distance, and matches speed. They move as one organism.
A flock of birds migrates thousands of miles without a navigator. No GPS. No preplanned route. Each bird follows the same three rules: Stay close to your neighbors, don’t collide with them, and match their speed. Somehow they arrive.
But nature has other models too. Bees don’t swarm to find food. They use waggle dances—a signal system where scouts communicate location and quality to the hive, and the colony collectively decides where to forage. This is collective decision-making, not swarm behavior.
Here are some of the models nature uses, and how you might employ them in your organization:
Ant colonies (pheromone-based swarms): Individual ants are cognitively simple. They follow chemical trails. They don’t strategize. They don’t discuss. Coordination emerges from simple stimulus-response rules repeated at scale. This is perfect for routing algorithms. Humans? Not so much. We have language. We overthink. We have egos and agendas.
Bird flocks (proximity-based synchronization): Each bird watches its nearest neighbors and maintains distance, alignment, and speed. This produces coordinated movement without central direction. It’s useful for thinking about organizational synchronization, but in practice, knowledge workers don’t coordinate through proximity. They coordinate through explicit communication.
Bee colonies (collective decision-making via signaling): Scouts find food sources and perform waggle dances; the hive collectively decides where to forage. There’s communication. There’s collective judgment. This maps better to humans—we make decisions through voting, consensus, or appointed authority structures. But we do this through language, not dance.
Small human groups (language-based coordination): Humans naturally work in intimate groups of 5–15 people. We communicate directly. We debate. We explain reasoning. We build trust through repeated interaction. This is our strength. Research on military special forces, surgical teams, and startup founding teams shows that this scale consistently outperforms larger hierarchies for complex, novel work.
Here’s what matters for organizations: Not all nature-inspired coordination is the same, and not all models suit human knowledge work equally well. The mistake organizations make is mixing these models. Trying to run a board decision through swarm logic doesn’t work. Trying to route 10,000 deliveries through consensus doesn’t work. Match the model to the problem.
The winning organizations distribute decision-making by problem type, not by ideology. Start by asking yourself “What type of decision is this?”
Consider swarm-inspired algorithms or distributed rules. Routing, scheduling, resource allocation. These benefit from parallel exploration and adaptation.
Define simple, transparent local rules. “Always choose the shortest queue” is better than “we’ve determined you should do this.” Transparency builds trust. It enables agents to adapt rules as conditions change.
Establish clear boundaries. Swarms aren’t lawless. Even the most autonomous ant colony operates within biological constraints. Similarly, decentralized decision-making needs guardrails: budget limits, compliance rules, service-level agreements, ethics boundaries. These constraints prevent harmful emergence while preserving autonomy.
Measure emergent patterns. Are teams naturally clustering around customer segments? Are response times improving faster than expected? Are deviations from planned rules creating better outcomes? These patterns reveal whether the system is actually adaptive or just chaotic.
Measure emergent patterns. Are teams naturally clustering around customer segments? Are response times improving faster than expected? Are deviations from planned rules creating better outcomes? These patterns reveal whether the system is actually adaptive or just chaotic.
Want Radar delivered straight to your inbox? Join us on Substack. Sign up here.
Delegate authority. A store manager sees local demand before HQ does. A nurse sees treatment patterns before epidemiologists do. Give them authority to act within clear boundaries.
Make authority explicit. People need to know: What can I decide? What requires escalation? Build trust through transparency. And create communication channels. Small teams work because people talk directly. Don’t remove that advantage by adding layers.
Use small teams with explicit communication. Strategy, product direction, customer account decisions. These need debate, judgment, and reasoning—not local rules.
Preserve hierarchy for initial deliberation, then push decisions down. A CEO might set direction (“we’re entering this market”), but let teams decide execution. Mix levels of control by decision phase.
Then build the culture progressively. Organizations where power has been tightly held resist decentralization. Pilot in bounded domains. A single supply chain. One customer segment. A specific operational challenge. Demonstrate value. Build credibility. Then expand. And yes, this requires middle managers to give up control. Most companies fail here. If you aren’t ready to fire managers who hoard decisions, don’t bother trying to decentralize. They’ll sabotage it.
Humans in a room. These require deliberation, trust-building, and explicit reasoning. You can’t swarm your way through a values decision.
Markets shift faster than executives can perceive. Customer preferences change in real time. Disruptions emerge from nowhere. The solution is to distribute intelligence by matching decision type to coordination mechanism. Nature figured out multiple coordination models. Organizations should too.
Smart cities: Traffic signal timing in Copenhagen and Singapore uses distributed coordination. Instead of a central traffic control room synchronizing all lights, intersections coordinate based on local congestion. Signals adjust in real time to vehicle flow. This is closer to true swarm behavior—local rules, no central command, emergent global optimization. The result: reduced congestion and lower emissions.
Healthcare: Diagnostic systems using AI aggregate insights across thousands of clinicians. This is distributed sensing. Every clinician is an antenna. The algorithm learns from patterns observed across all of them simultaneously. Drug discovery accelerates as algorithms explore molecular spaces too vast for sequential testing. This works because the goal is clear (better diagnosis, faster discovery), and local information (what clinicians observe) accumulates into global patterns.
Financial services: Real-time algorithmic trading uses multiple agents executing strategies based on local market signals. Agents respond to local conditions without central coordination. But notice: This only works because the goal is crystal clear (maximize return) and the environment is well-defined (market data). Try this for strategic investment decisions and you’ll have chaos.
Energy systems: Power grid management in renewable-heavy systems uses swarm-like coordination to balance supply and demand in real time. Distributed generators respond to local price signals. Consumers adjust consumption based on local grid conditions. This approximates true swarm behavior because the problem is optimization at scale (balance supply and demand) without central planning.
Small teams with autonomy: Amazon’s two-pizza teams have authority to build and deploy independently. Netflix engineers can deploy code without centralized approval gates. Southwest Airlines gate agents make refund decisions on the spot. These are delegated authority structures—not swarms but genuinely autonomous decision-making. They work because the team is small enough for direct communication, the authority boundaries are clear, and the decisions are nonstrategic (execution choices, not direction).
Organizations that match coordination model to problem type will outpace competitors trapped in binary thinking (all centralized or all decentralized). The advantage isn’t technological. The algorithms are known. The models are established. The advantage is structural clarity. Companies that can identify problem type, choose the right coordination mechanism, and execute without paralysis will move faster.
This mirrors natural evolution. Ant colonies didn’t succeed because they invented new biology. They succeeded because they used the right coordination model for the problem (optimization at scale). Humans didn’t dominate because we swarm. We dominated because we combine small-group collaboration with individual reasoning. Organizations following the same principle—using the right model for the right problem—will emerge as leaders.
For you as a business leader, the question isn’t whether to adopt distributed thinking. Markets are pushing you there. The question is: What types of decisions should be distributed, and what types should stay centralized? And crucially: What coordination mechanism actually suits each type? Your organization’s intelligence doesn’t live solely in the executive suite. It lives in frontline employees, customer interactions, market data, and operational feedback. The companies winning are the ones learning to access it.
But distributed decision-making isn’t one thing. It’s multiple things—swarms for optimization, delegation for execution, small teams for strategy, humans for judgment. Nature has already shown you multiple models. The only question is whether you’ll use the right one for the right problem.
One size doesn’t fit all.
CodeSOD: Cover Up [The Daily WTF]
Goodhart's Law states that when a measure becomes a target, it ceases to be a good measure. Or, more to the point: you get what you measure.
If, for example, you measure code coverage, you are going to get code coverage. It doesn't mean the tests will be any good, it just means that you'll write tests that exercise different blocks of code.
For example, Capybara James sends us this unit test:
@MockitoSettings
class CentralizedLoggerTest {
@InjectMocks
private CentralizedLogger centralizedLogger;
@Test
void logAround() throws Throwable {
centralizedLogger = new CentralizedLogger();
MethodSignature signature = mock(MethodSignature.class);
ProceedingJoinPoint joinPoint = mock(ProceedingJoinPoint.class);
when(joinPoint.getSignature()).thenReturn(signature);
centralizedLogger.logAround(joinPoint);
Assertions.assertTrue(true);
}
}
It doesn't really matter what the mocks are, or what gets instantiated, or honestly, anything that's happening here. The assertion is the beginning and ending.
James writes:
The only requirement was sonar coverage to push the code to production. There is no other purpose.
Prompt Injection Via Road Signs [Schneier on Security]
Interesting research: “CHAI: Command Hijacking Against Embodied AI.”
Abstract: Embodied Artificial Intelligence (AI) promises to handle edge cases in robotic vehicle systems where data is scarce by using common-sense reasoning grounded in perception and action to generalize beyond training distributions and adapt to novel real-world situations. These capabilities, however, also create new security risks. In this paper, we introduce CHAI (Command Hijacking against embodied AI), a new class of prompt-based attacks that exploit the multimodal language interpretation abilities of Large Visual-Language Models (LVLMs). CHAI embeds deceptive natural language instructions, such as misleading signs, in visual input, systematically searches the token space, builds a dictionary of prompts, and guides an attacker model to generate Visual Attack Prompts. We evaluate CHAI on four LVLM agents; drone emergency landing, autonomous driving, and aerial object tracking, and on a real robotic vehicle. Our experiments show that CHAI consistently outperforms state-of-the-art attacks. By exploiting the semantic and multimodal reasoning strengths of next-generation embodied AI systems, CHAI underscores the urgent need for defenses that extend beyond traditional adversarial robustness.
News article.
Spinnerette - issue 44 - 20 [Spinnerette]
![]()
New comic!
Today's News:
Urgent: Call Verizon not to support DHS and deportation thugs [Richard Stallman's Political Notes]
US citizens: call on Verizon to stop supporting the Department of Hatred and Suffering and the deportation thugs.
See the instructions for how to sign this letter campaign without running any nonfree JavaScript code--not trivial, but not hard.
Urgent: End Apple and Google contracts with deportation thugs [Richard Stallman's Political Notes]
US citizens: Tell Apple & Google CEOs: End your contracts with the deportation thugs. Also call on them to allow people to freely share and install libre apps.
See the instructions for how to sign this letter campaign without running any nonfree JavaScript code--not trivial, but not hard.
Urgent: End Amazon contracts with deportation thugs [Richard Stallman's Political Notes]
US citizens: Tell Amazon to end contracts with deportation thugs.
See the instructions for how to sign this letter campaign without running any nonfree JavaScript code--not trivial, but not hard.
Urgent: Call on Target to help protect Minnesota from deportation thugs [Richard Stallman's Political Notes]
US citizens: call on Target's New CEO to help protect Minnesota from deportation thugs.
See the instructions for how to sign this letter campaign without running any nonfree JavaScript code--not trivial, but not hard.
Human made sediments on British beaches [Richard Stallman's Political Notes]
* As much as half of some British beaches' coarse sediments consist of human-made materials such as brick, concrete, glass and industrial waste, a study has found. Climate breakdown, which has caused more frequent and destructive coastal storms, has led to an increase in these substances on beaches.*
This doesn't imply that those substance do specific harm when present in a beach, but they demonstrate the magnitude of change that humans are already causing in this early stage of climate breakdown.
(satire) ICE agent deports own family [Richard Stallman's Political Notes]
(satire) *ICE Agent Scores Easy Win By Deporting Own Family.*
"Hate speech" rules could stifle classroom discussions [Richard Stallman's Political Notes]
*New "hate speech" rules for NSW schools could stifle classroom discussions about Gaza, teachers warn.*
Punishing "hate speech" as a crime generally tends to lead to repression.
Crushingly disappointing PFAS action plan for UK [Richard Stallman's Political Notes]
*Environmentalists decry "crushingly disappointing" PFAS action plan for UK.*
This weakness was predictable, because Starmer Labour's first priority is catering to business.
Cars in Chine to have mechanical release on all doors [Richard Stallman's Political Notes]
*Cars sold in China will now be required to have a mechanical release on both the inside and outside of every door except the [trunk].*
That exception is disturbing. I had heard, years ago, that cars were designed so that a person inside the trunk could open the door of the trunk. It seems a shame to retreat from that safety measure.
Contacts with Epstein pulled plug on career of Peter Mandelson [Richard Stallman's Political Notes]
Contacts with Epstein pulled the plug on the career of Peter Mandelson, a Labour MP and minister who worked unceasingly to strengthen the power of business — and not only in Britain.
Defiance through music and dance at funerals [Richard Stallman's Political Notes]
*Music and dancing signify defiance at celebratory funerals of Iran's protesters.*
Pluralistic: Europe takes a big step towards a post-dollar world (11 Feb 2026) [Pluralistic: Daily links from Cory Doctorow]
->->->->->->->->->->->->->->->->->->->->->->->->->->->->->
Top Sources: None -->

There's a reason every decentralized system eventually finds its way onto a platform: platforms solve real-world problems that platform users struggle to solve for themselves.
I've written before about the indie/outsider author Crad Kilodney, who wrote, edited, typeset and published chapbooks of his weird and wonderful fiction, and then sold his books from Toronto street-corners with a sign around his neck reading VERY FAMOUS CANADIAN AUTHOR BUY MY BOOKS (or, if he was feeling spicy, simply: MARGARET ATWOOD):
https://pluralistic.net/2024/02/19/crad-kilodney-was-an-outlier/#intermediation
Crad was a hell of a writer and a bit of a force of nature, but there are plenty of writers I want to hear from who are never going to publish their own books, much less stand on a street-corner selling them with a MARGARET ATWOOD sign around their necks. Publishers, editors, distributors and booksellers all do important work, allowing writers to get on with their writing, taking all the other parts of the publishing process off their shoulders.
That's the value of platforms. The danger of platforms is when they grow so powerful that they usurp the relationship between the parties they are supposed to be facilitating, locking them in and then extracting value from them (someone should coin a word to describe this process!):
https://pluralistic.net/2024/11/07/usurpers-helpmeets/#disreintermediation
Everyone needs platforms: writers, social media users, people looking for a romantic partner. What's more, the world needs platforms. Say you want to connect all 200+ countries on Earth with high-speed fiber lines; you can run a cable from each country to every other country (about 21,000 cables, many of them expensively draped across the ocean floor), or you can pick one country (preferably one with both Atlantic and Pacific coasts) and run all your cables there, and then interconnect them.
That's America, the world's global fiber hub. The problem is, America isn't just a platform for fiber interconnections – it's a Great Power that uses its position at the center of the world's fiber networks to surveil and disrupt the world's communications networks:
https://en.wikipedia.org/wiki/Edward_Snowden
That's a classic enshittification move on a geopolitical scale. It's not the only one America's made, either.
Consider the US dollar. The dollar is to global commerce what America's fiber head-ends are to the world's data network: a site of essential, (nominally) neutral interchange that is actually a weapon that the US uses to gain advantage over its allies and to punish its enemies:
https://pluralistic.net/2023/10/10/weaponized-interdependence/#the-other-swifties
The world's also got about 200 currencies. For parties in one country to trade with those in another country, the buyer needs to possess a currency the seller can readily spend. The problem is that setting up 21,000 pairwise exchange markets from every currency to every other currency is expensive and cumbersome – traders would have to amass reserves of hundreds of rarely used currencies, or they would have to construct long, brittle, expensive, high-risk chains that convert, say, Thai baht into Icelandic kroner to Brazilian reals and finally into Costa Rican colones.
Thanks to a bunch of complicated maneuvers following World War II, the world settled on the US dollar as its currency platform. Most important international transactions use "dollar clearing" (where goods are priced in USD irrespective of their country of origin) and buyers need only find someone who will convert their currency to dollars in order to buy food, oil, and other essentials.
There are two problems with this system. The first is that America has never treated the dollar as a neutral platform; rather, American leaders have found subtle, deniable ways to use "dollar dominance" to further America's geopolitical agenda, at the expense of other dollar users (you know, "enshittification"). The other problem is that America has become steadily less deniable and subtle in these machinations, finding all kinds of "exceptional circumstances" to use the dollar against dollar users:
https://pluralistic.net/2025/11/26/difficult-multipolarism/#eurostack
America's unabashed dollar weaponization has been getting worse for years, but under Trump, the weaponized dollar has come to constitute an existential risk to the rest of the world, sending them scrambling for alternatives. As November Kelly says, Trump inherited a poker game that was rigged in his favor, but he still flipped over the table because he resents having to pretend to play at all:
https://pluralistic.net/2026/01/26/i-dont-want/#your-greenback-dollar
Once Trump tried to steal Greenland, it became apparent that the downsides of the dollar far outweigh its upsides. Last month, Christine Lagarde (president of the European Central Bank) made a public announcement on a radio show that Europe "urgently" needed to build its own payment system to avoid the American payment duopoly, Visa/Mastercard:
https://davekeating.substack.com/p/can-europe-free-itself-from-visamastercard
Now, there's plenty of reasons to want to avoid Visa/Mastercard, starting with cost: the companies have raised their prices by more than 40% since the pandemic started (needless to say, updating database entries has not gotten 40% more expensive since 2020). This allows two American companies to impose a tax on the entire global economy, collecting swipe fees and other commissions on $24t worth of the world's transactions every year:
https://finance.yahoo.com/news/europe-banks-launching-product-break-101215642.html
But there's another reason to get shut of Visa/Mastercard: Trump controls them. He can order them to cut off payment processing for any individual or institution that displeases him. He's already done this to punish the International Criminal Court for issuing a genocide arrest warrant for Benjamin Netanyahu, and against a Brazilian judge for finding against the criminal dictator Jair Bolsonaro (Trump also threatened to have the judge in Bolsonaro's case assassinated). What's more, Visa/Mastercard have a record of billions (trillions?) of retail transactions taking place between non-Americans, which Trump's officials can access for surveillance purposes, or just to conduct commercial espionage to benefit American firms as a loyalty bonus for the companies that buy the most $TRUMP coins.
Two days after Lagarde's radio announcement, 13 European countries announced the formation of "EuroPA," an alliance that will facilitate regionwide transactions that bypass American payment processors (as well as Chinese processors like Alipay):
As European Business Magazine points out, EuroPA is the latest in a succession of attempts to build a European payments network:
There's Wero, a 2024 launch from the 16-country European Payments Initiative, which currently boasts 47m users and 1,100 banks in Belgium, France and Germany, who've spent €7.5b through the network:
https://finance.yahoo.com/news/europe-banks-launching-product-break-101215642.html
Wero launched as a peer-to-peer payment system that used phone numbers as identifiers, but it expanded into retail at the end of last year, with several large retailers (such as Lidl) signing on to accept Wero payments.
Last week, Wero announced an alliance with EuroPA, making another 130m people eligible to use the service, which now covers 72% of the EU and Norway. They're rolling out international peer-to-peer payments in 2026, and retail/ecommerce payments in 2027.
These successes are all the more notable for the failures they follow, like Monnet (born 2008, died 2012). Even the EPI has been limping along since its founding, only finding a new vigor on the heels of Trump threatening EU member states with military force if he wasn't given Greenland.
As EBM writes, earlier efforts to build a regional payment processor foundered due to infighting among national payment processors within the EU, who jealously guarded their own turf and compulsively ratfucked one another. This left Visa/Mastercard as the best (and often sole) means of conducting cross-border commerce. This produced a "network effect" for Visa/Mastercard: since so many Europeans had an American credit card in their wallets, European merchants had to support them; and since so many EU merchants supported Visa/Mastercard, Europeans had to carry them in their wallets.
Network effects are pernicious, but not insurmountable. The EU is attacking this problem from multiple angles – not just through EuroPA, but also through the creation of the Digital Euro, a Central Bank Digital Currency (CBDC). Essentially, this would give any European who signs up an account with the ECB, the federal bank of the Eurozone. Then, using an app or a website, any two Digital Euro customers could transfer funds to one another using the bank's own ledgers, instantaneously and at zero cost.
EBM points out that there's a critical difficulty in getting EuroPA off the ground: because it is designed to be cheap to use, it doesn't offer participating banks the windfall profits that Visa/Mastercard enjoy, which might hold back investment in EuroPA infrastructure.
But banks are used to making small amounts of money from a lot of people, and with the Digital Euro offering a "public option," the private sector EuroPA system will have a competitor that pushes it to continuously improve its systems.
It's true that European payment processing has been slow and halting until now, but that was when European businesses, governments and households could still pretend that the dollar – and the payment processing companies that come along with it – was a neutral platform, and not a geopolitical adversary.
If there's one thing the EU has demonstrated over the past three years, it's that geopolitical threats from massive, heavily armed mad empires can break longstanding deadlocks. Remember: Putin's invasion of Ukraine and the end of Russian gas moved the EU's climate goals in ways that beggar belief: the region went from 15 years behind on its solar rollout to ten years ahead of schedule in just a handful of months:
https://pluralistic.net/2026/02/05/contingency/#this-too-shall-pass
This despite an all-out blitz from the fossil fuel lobby, one of the most powerful bodies in the history of civilization.
Crises precipitate change, and Trump precipitates crises.

Best gas masks https://www.theverge.com/policy/868571/best-gas-masks
As Was The Style At The Time: How We Became Cruel https://www.oblomovka.com/wp/2026/02/09/as-was-the-style-at-the-time-how-we-became-cruel/
Remove Your Ring Camera With a Claw Hammer https://www.hamiltonnolan.com/p/remove-your-ring-camera-with-a-claw
The truth about covering tech at Bezos’s Washington Post https://geoffreyfowler.substack.com/p/washington-post-layoffs-bezos-tech-reporting
#15yrsago Realtime API for Congress https://web.archive.org/web/20110211101723/http://sunlightlabs.com/blog/2011/the-real-time-congress-api/
#15yrsago Steampunk fetish mask with ear-horn https://bob-basset.livejournal.com/156159.html
#10yrsago Facebook’s “Free Basics” and colonialism: an argument in six devastating points https://web.archive.org/web/20160211182436/https://www.theatlantic.com/technology/archive/2016/02/facebook-and-the-new-colonialism/462393/
#10yrsago UK surveillance bill condemned by a Parliamentary committee, for the third time https://web.archive.org/web/20250523013320/https://www.wired.com/story/technology-ip-bill-surveillance-committee/
#10yrsago Haunted by a lack of young voter support, Hillary advertises on the AOL login screen https://web.archive.org/web/20160211080839/http://www.weeklystandard.com/hillary-reaches-base-with-aol-login-page-ad/article/2001023
#10yrsago Celebrate V-Day like an early feminist with these Suffragist Valentines https://web.archive.org/web/20160216100606/https://www.lwv.org/blog/votes-women-vintage-womens-suffrage-valentines
#10yrsago Elements of telegraphic style, 1928 https://writeanessayfor.me/telegraph-office-com
#10yrsago Disgraced ex-sheriff of LA admits he lied to FBI, will face no more than 6 months in prison https://web.archive.org/web/20160211041117/https://www.latimes.com/local/lanow/la-me-ln-ex-l-a-county-sheriff-baca-jail-scandal-20160210-story.html
#5yrsago Apple puts North Dakota on blast https://pluralistic.net/2021/02/11/rhodium-at-2900-per-oz/#manorial-apple
#5yrsago Catalytic converter theft https://pluralistic.net/2021/02/11/rhodium-at-2900-per-oz/#ccscrap
#5yrsago Adam Curtis on criti-hype https://pluralistic.net/2021/02/11/rhodium-at-2900-per-oz/#hypernormal
#5yrsago Dependency Confusion https://pluralistic.net/2021/02/11/rhodium-at-2900-per-oz/#extra-index-url
#1yrago Musk steals a billion dollars from low-income Americans and sends it to Intuit https://pluralistic.net/2025/02/11/doubling-up-on-paperwork/#rip-freefile

Montreal (remote): Fedimtl, Feb 24
https://fedimtl.ca/
Victoria: 28th Annual Victoria International Privacy &
Security Summit, Mar 3-5
https://www.rebootcommunications.com/event/vipss2026/
Berkeley: Bioneers keynote, Mar 27
https://conference.bioneers.org/
Berlin: Re:publica, May 18-20
https://re-publica.com/de/news/rp26-sprecher-cory-doctorow
Berlin: Enshittification at Otherland Books, May 19
https://www.otherland-berlin.de/de/event-details/cory-doctorow.html
Hay-on-Wye: HowTheLightGetsIn, May 22-25
https://howthelightgetsin.org/festivals/hay/big-ideas-2
America's Enshittification is Canada's Opportunity (Do Not Pass
Go)
https://www.donotpassgo.ca/p/americas-enshittification-is-canadas
Everything Wrong With the Internet and How to Fix It, with Tim
Wu (Ezra Klein)
https://www.nytimes.com/2026/02/06/opinion/ezra-klein-podcast-doctorow-wu.html
How the Internet Got Worse (Masters in Business)
https://www.youtube.com/watch?v=auXlkuVhxMo
Enshittification (Jon Favreau/Offline):
https://crooked.com/podcast/the-enshittification-of-the-internet-with-cory-doctorow/
"Enshittification: Why Everything Suddenly Got Worse and What to
Do About It," Farrar, Straus, Giroux, October 7 2025
https://us.macmillan.com/books/9780374619329/enshittification/
"Picks and Shovels": a sequel to "Red Team Blues," about the heroic era of the PC, Tor Books (US), Head of Zeus (UK), February 2025 (https://us.macmillan.com/books/9781250865908/picksandshovels).
"The Bezzle": a sequel to "Red Team Blues," about prison-tech and other grifts, Tor Books (US), Head of Zeus (UK), February 2024 (thebezzle.org).
"The Lost Cause:" a solarpunk novel of hope in the climate emergency, Tor Books (US), Head of Zeus (UK), November 2023 (http://lost-cause.org).
"The Internet Con": A nonfiction book about interoperability and Big Tech (Verso) September 2023 (http://seizethemeansofcomputation.org). Signed copies at Book Soup (https://www.booksoup.com/book/9781804291245).
"Red Team Blues": "A grabby, compulsive thriller that will leave you knowing more about how the world works than you did before." Tor Books http://redteamblues.com.
"Chokepoint Capitalism: How to Beat Big Tech, Tame Big Content, and Get Artists Paid, with Rebecca Giblin", on how to unrig the markets for creative labor, Beacon Press/Scribe 2022 https://chokepointcapitalism.com
"Enshittification, Why Everything Suddenly Got Worse and What to Do About It" (the graphic novel), Firstsecond, 2026
"The Post-American Internet," a geopolitical sequel of sorts to Enshittification, Farrar, Straus and Giroux, 2027
"Unauthorized Bread": a middle-grades graphic novel adapted from my novella about refugees, toasters and DRM, FirstSecond, 2027
"The Memex Method," Farrar, Straus, Giroux, 2027
Today's top sources:
Currently writing: "The Post-American Internet," a sequel to "Enshittification," about the better world the rest of us get to have now that Trump has torched America (1027 words today, 26735 total)
"The Post-American Internet," a short book about internet policy in the age of Trumpism. PLANNING.
A Little Brother short story about DIY insulin PLANNING

This work – excluding any serialized fiction – is licensed under a Creative Commons Attribution 4.0 license. That means you can use it any way you like, including commercially, provided that you attribute it to me, Cory Doctorow, and include a link to pluralistic.net.
https://creativecommons.org/licenses/by/4.0/
Quotations and images are not included in this license; they are included either under a limitation or exception to copyright, or on the basis of a separate license. Please exercise caution.
Blog (no ads, tracking, or data-collection):
Newsletter (no ads, tracking, or data-collection):
https://pluralistic.net/plura-list
Mastodon (no ads, tracking, or data-collection):
Medium (no ads, paywalled):
Twitter (mass-scale, unrestricted, third-party surveillance and advertising):
Tumblr (mass-scale, unrestricted, third-party surveillance and advertising):
https://mostlysignssomeportents.tumblr.com/tagged/pluralistic
"When life gives you SARS, you make sarsaparilla" -Joey "Accordion Guy" DeVilla
READ CAREFULLY: By reading this, you agree, on behalf of your employer, to release me from all obligations and waivers arising from any and all NON-NEGOTIATED agreements, licenses, terms-of-service, shrinkwrap, clickwrap, browsewrap, confidentiality, non-disclosure, non-compete and acceptable use policies ("BOGUS AGREEMENTS") that I have entered into with your employer, its partners, licensors, agents and assigns, in perpetuity, without prejudice to my ongoing rights and privileges. You further represent that you have the authority to release me from any BOGUS AGREEMENTS on behalf of your employer.
ISSN: 3066-764X
What an admirable goal. Perhaps the overriding goal of all goals.
How often do we measure this? Do we even know how?
Do the systems we’re in push us from considering this? I wonder why.
The Mark Of Donalds [Penny Arcade]
New Comic: The Mark Of Donalds
Girl Genius for Wednesday, February 11, 2026 [Girl Genius]
The Girl Genius comic for Wednesday, February 11, 2026 has been posted.
The Price Of Progress [QC RSS]

hi Jim
SPD Policy Undermines Rivera’s Immigrant-Protecting Bill [The Stranger]
Unfortunately, nothing in government is that simple, and the Seattle Police Department (SPD) exists. by Micah Yip
Councilmember Maritza Rivera has done something right.
This morning, the Public Safety Committee passed her bill that protects immigrants from our own municipal code. It strikes language that says city employees (including police) must “cooperate with, not hinder” federal immigration enforcement, and adds a section clarifying that they are not to collect or share personal information for immigration agencies, either.
Yay! Thanks, Rivera!
Unfortunately, nothing in government is that simple, and the Seattle Police Department (SPD) exists. And once again, it is preventing us from having nice things. While police are technically regulated under Rivera’s bill, SPD policies give them a pass.
Let’s start with the language repeal. Rivera’s bill removes that “cooperation” line, which originated in 1986 from an initiative passed by Seattle voters (what the hell, ’80s Seattle voters!). Excellent first step. Rivera’s bill also creates a new section in the Seattle Municipal Code (SMC) blocking city employees and officers from sharing personal information—like someone’s address, phone number or social media handle—for immigration enforcement, except if required by a court order. Good second step.
Both changes align city code with state laws like the 2019 Keep Washington Working (KWW) Act and the 2020 Courts Open to All (COTA) Act, which place information collection and sharing restrictions on local law enforcement, judges, court personnel and prosecutors. The bill also aligns the city code with the city code. In 2003, a “don’t ask” policy was added to the SMC—city employees can’t ask about someone’s immigration status.
Except officers if they have “reasonable suspicion” that (1) a person has been previously deported, (2) that person is again in the United States and (3) they’ve committed or are committing a felony.
On top of that, SPD has their own policies independent of city and state law. According to Council Central Staff, the department has “chosen to enact a policy” for immigration situations that is “quite a bit narrower and does not contemplate any of the criteria” described in current city or state law.
It’s a whole mess: SPD policy generally prohibits collecting immigration info. But the Chief can make exceptions. But Keep Washington Working keeps law enforcement from data collection and sharing for immigration enforcement. But officers are also regulated under the 2003 SMC amendment. But they’re also given a pass under the same amendment.
It’s convoluted enough that Councilmember Eddie Lin abstained.
“I don’t want to hold up the important bill and good work that you brought forward, Councilmember Rivera,” he said. “But it just seems like there’s still a bit of confusion, at least in my mind.”
Rivera acknowledged the shortfalls. She said KWW likely overrides the SMC code , but said they’d need to do further legal analysis before amending that section. She was adamant—passionate, even—that the bill should still be passed.
“One doesn’t preclude the other, so we can move this bill forward,” Rivera said. “[We can] take this what I deem to be an important step, all while then having the conversations about what else.”
The bill passed, with Rivera, Committee Chair Bob Kettle and Vice Chair Rob Saka voting yes. Councilmember Debora Juarez was absent. It’ll go before the full City Council at the February 17 meeting.
Pacific Science Center’s Boeing IMAX Theater to Be Sold to Space Needle [The Stranger]
The question of what that “IMAX experience” entails will now be top of mind for Seattle movie lovers. Many consider the Boeing IMAX to be one of the best places to go see the biggest releases of the year, but staff who spoke to The Stranger are concerned that this new buyer isn’t interested in screening first-run releases of Hollywood films, like Christopher Nolan’s upcoming The Odyssey. by Chase Hutchinson
The Boeing IMAX theater, the biggest IMAX theatre in the state, has been closed since Feb. 1 and will be sold to a new owner: the Space Needle Corporation, the Pacific Science Center confirmed in an email Tuesday.
“PacSci will not resume operations in that theater,” the spokesperson said. “Once the transaction concludes, we anticipate that the buyer will make some renovations and reopen the theater as an IMAX experience later this spring.”
The question of what that “IMAX experience” entails will now be top of mind for Seattle movie lovers. Many consider the Boeing IMAX to be one of the best places to go see the biggest releases of the year, but staff who spoke to The Stranger are concerned that this new buyer isn’t interested in screening first-run releases of Hollywood films, like Christopher Nolan’s upcoming The Odyssey. A spokesperson for PacSci said they will be showing Nolan’s film at their smaller theater, the PACCAR, but deferred questions about the future of film programming at the Boeing IMAX to the Space Needle Corporation.
In a statement shared with The Seattle Times, Space Needle CEO Ron Sevart said “we’re excited to partner with Pacific Science Center in continuing the availability of two IMAX theaters on the Seattle Center Campus” and that it will continue to operate as a movie theater following a "brief renovation focused on improving the concessions and arrival experiences, scheduled to end in May." However, he didn’t specify what movies or programming will be shown there, only saying “we haven’t explored any use other than as an IMAX theater.”
“While continued operation of the Boeing IMAX Theater is our short-term focus, we can’t wait to explore other partnership opportunities that support the future of Pacific Science Center and the Seattle Center,” Sevart said in a release.
Also speaking to the Times, PacSci President and CEO Will Daugherty said, “the economics of operating a movie theater have become increasingly challenging. It made sense for PacSci to include the Boeing IMAX Theater in this transaction.”
Can our movie theaters catch a break already? SIFF ended its lease at the Egyptian last year, the Varsity Theatre closed just last month, and the Grand Illusion is still looking for a new home. However, the Boeing IMAX is something different. It’s the region’s “only true IMAX,” as the theater’s website once referred to it, with a 1.42:1 aspect ratio AKA a massive screen. When Ryan Coogler’s stellar vampire horror Sinners swept the nation last year, it was one of only a handful of places in the country where you could see the film as the filmmaker intended. (Having seen the film, I can’t overstate how much of an impact this makes.)
Now, it’s an open question whether they’ll be able to experience anything like that again anytime soon at the Boeing IMAX. As for the impact the sale could have on employees, a spokesperson for PacSci said “we have not yet determined the impact on PacSci staffing.”
Editor's Note: A previous version of this story said that the sale was final. Since publication, the Pacific Science Center has clarified that the sale has not yet gone through, but is expected to.
Redox gets working rustc and Cargo [OSnews]
Another month, another Redox progress report. January turned out
to be a big month for the Rust-based general purpose operating
system, as they’ve cargo and rustc working on
Redox.
Cargo and
↫ Ribbon and Ron Williamsrustcare now working on Redox! Thanks to Anhad Singh and his southern-hemisphere Redox Summer of Code project, we are now able to compile your favorite Rust CLI and TUI programs on Redox. Compilers are often one of the most challenging things for a new operating system to support, because of the intensive and somewhat scattershot use of resources.
That’s not all for January, though. An initial capability-based security infrastructure has been implemented for granular permissions, SSH support has been improved and now works properly for remoting into Redox sessions, and USB input latency has been massively reduced. You can now also add, remove, and change boot parameters in a new text editing environment in the bootloader, and the login manager now has power and keyboard layout menus. January also saw the first commit made entirely from within Redox, which is pretty neat.
Of course, there’s much more, as well as the usual slew of kernel, relibc, and application bugfixes and small changes.
I’m currently building an 80386-compatible core in SystemVerilog, driven by the original Intel microcode extracted from real 386 silicon. Real mode is now operational in simulation, with more than 10,000 single-instruction test cases passing successfully, and work on protected-mode features is in progress. In the course of this work, corners of the 386 microcode and silicon have been examined in detail; this series documents the resulting findings.
In the previous post, we looked at multiplication and division — iterative algorithms that process one bit per cycle. Shifts and rotates are a different story: the 386 has a dedicated barrel shifter that completes an arbitrary multi-bit shift in a single cycle. What’s interesting is how the microcode makes one piece of hardware serve all shift and rotate variants — and how the complex rotate-through-carry instructions are handled.
↫ nand2mario
I understood some of this.
“The original vi is a product of its time (and its time has passed)” [OSnews]
For me, vim is a combination of genuine improvements in vi’s core editing behavior (cf), frustrating (to me) bits of trying too hard to be smart (which I mostly disable when I run across them), and an extension mechanism I ignore but people use to make vim into a superintelligent editor with things like LSP integrations.
Some of the improvements and additions to vi’s core editing may be things that Bill Joy either didn’t think of or didn’t think were important enough. However, I feel strongly that some or even many of omitted features and differences are a product of the limited environments vi had to operate in. The poster child for this is vi’s support of only a single level of undo, which drastically constrains the potential memory requirements (and implementation complexity) of undo, especially since a single editing operation in vi can make sweeping changes across a large file (consider a whole-file ‘:…s/../../’ substitution, for example).
↫ Chris Siebenmann
I have only very limited needs when it comes to command-line text editors, and as such, I absolutely swear by the simplicity of nano. In other words, I’m probably not the right person to dive into the editor debate that’s been raging for decades, but reading Siebenmann’s points I can’t help but agree. In this day and age, defaulting an editor that has only one level of undo is insanity, and I can’t imagine doing the kind of complex work people who use command-line editors do while being limited to just one window.
As for the debate about operating systems that symlink the
vi command to vim or a similar improved variant of vi,
I feel like that’s the wrong thing to do. Much like how I
absolutely despise how macOS hides its UNIX-y file system structure
from the GUI, leading to bizarre ls results in the
terminal, I don’t think you should be tricking users. If a
user enters vi, it should launch vi, and not something
that kind of looks like vi but isn’t. Computers
shouldn’t be lying to users.
If they don’t want their users to be using vi, they shouldn’t be installing vi in the first place.
Beneath the Mask [The Stranger]
Shapiro’s journey through the art world is a storied one. by Amanda Manitach
Somewhere in Manhattan, sometime in the mid 1980s: a friend invited Ann Leda Shapiro to a clandestine gathering of nameless, faceless women at an artist’s loft. “Come to this meeting,” she was told. “We’re pissed off. We’re going to do something.” It turned out to be the beginning of the Guerrilla Girls.
Shapiro kept the secret of her involvement for 40 years; she will still only say so much. But there is one story about the time The Washington Post was sending people up to conduct a photoshoot. This posed a problem, as one of the primary commitments of the group was anonymity. Shapiro, taking notes for their meeting, was scribbling down ideas as fast as they came, when she committed a misspelling that would make art history: instead of guerrilla, she wrote gorilla. It was an a-ha moment, and their solution—the now-iconic gorilla mask—was born.
Shapiro’s journey through the art world is a storied one, her intersection with the Guerilla Girls just one of many tantalizing threads that could be spun into a volume. As she (selectively) spills the lore, our conversation is lubricated by multiple cups of coffee served in the artist’s Vashon Island living room. It’s a well-loved and lived-in house just up the road from a rocky slip of beach. Sun glitters off the face of the water, flooding the space with dappled light that dances across the ceiling with each break in the clouds. An acupuncturist’s table—not an easel or drawing desk—takes primary place in the room.
She’s lived here for 30 years, tucked away from the limelight.
Like the majority of female artists who achieve renown, it’s only been later in life that she’s been getting her flowers. (Shapiro turns 80 this August, though age feels like a preposterous abstraction here; she moves and speaks with the vivacity of someone 80 going on 18.) Last spring her solo exhibit, Interconnected Worlds, debuted in Antwerp. Another solo, Body Is Landscape, is currently hanging in Hong Kong. This January, Shapiro received the Betty Bowen Award—one of the region’s most coveted—which comes with a hefty cash prize and an exhibition at Seattle Art Museum. (Hers is scheduled for 2027.)
Categorizing Shapiro’s work is no easy feat. Watercolor and gouache paintings with an energetic, illustrative quality that plumb the esoteric, autobiographical, cosmic cartographies of the body. The body is ever-present in her work. Bodies that serve as landscapes. Bodies that swim in celestial storms and electric seas. Bodies as fine as stardust. Bodies that turn into trees that turn into something much deeper and primal. Detail so minute it seems physically impossible. Humor that is by turns brash, vulnerable, and grotesque mingles with sacred rage throughout earlier work; later imagery unfolds labyrinthine (self)portraiture that could keep a psychoanalyst busy for years.
It’s the kind of work the world is hungry for now. But it wasn’t always like this.
Shapiro grew up a “red diaper baby,” the daughter of card-carrying, working-class Communist parents who lived in a housing project in Queens. They were “neglectful, but had fabulous values,” she notes. Shapiro’s mother encouraged her artistic tendencies (which included being allowed to paint on the walls). On Saturdays, they took the train into the city so Shapiro could take classes at the MoMA’s art school, where she learned to “paint with sponges and throw paint at paper.” When the family eventually relocated to Manhattan, they moved into an apartment directly across from the American Museum of Natural History—a proximity that contributed to the development of Shapiro’s approach to close observation of the natural world. There was never going to be any other way but art for Shapiro; in her free time after high school she haunted the museum across the street, filling sketchbooks with intricate drawings of its curiosities while inquisitive museum guards looked on.
After high school, Shapiro rented a walk-up on the Lower East Side—the kind with a bathtub in the kitchen and a toilet down the hall. She worked at a library, then an advertising agency (where, to assuage boredom, she typed out entire chapters of Moby Dick, one page at a time). She saved enough cash to catch a hippie bus to San Francisco, where she rented a room under a staircase and enrolled in the San Francisco Art Institute. She modeled and painted murals for money. She marched with Allen Ginsberg and made low-tech, psychedelic oil-and-paint visuals for the first Kool-Aid Acid Test concert (Shapiro was perhaps the only person present not tripping on drugs).
She attended the University of California, Davis, for grad school, where the critiques were performed exclusively by mustached men. When they brought her to tears during her first review (her paintings were too “primitive,” they berated), Shapiro resolved to never let such a thing happen again. At the next review, she arrived with a rubber penis strapped to her face. She nearly asphyxiated (she forgot to poke holes in the tip), but the stunt was so off-putting it worked; from that day on, the mustaches kept mum and she earned an MFA without further incident.
After graduating, Shapiro traded oil paints for watercolors, scaling to a more intimate style that reflected the inspirations of her youth: Little Lulu comics and the delicate nature drawings of her museum sketchbooks. When a curator from the Whitney Museum of American Art paid Shapiro a studio visit, they offered her a solo show of works on paper—an honor for any artist, let alone a recent graduate. But when the exhibit opened in the fall of 1973, Shapiro was appalled to find they had pulled three of her best paintings at the last minute. “I was shocked,” she says. “I had no idea I was doing anything that was controversial.”
The censored works in question—three watercolors completed in 1971—seem disparate at first glance, but each is threaded with the same provocative humor as Shapiro’s rubber dick that doubled as a mask. One of the paintings, Two Sides of Self, depicts a pair of hermaphroditic mermaids whose bodies appear to conjoin at the breasts, lips, and (male) genitalia. The central figure in Woman Landing on Man in the Moon is a female astronaut in a NASA spacesuit; three American flag patches placed across the uniform reveal slits through which breasts and a penis protrude. Across the inky void in the background, a fleet of tiny airplanes skywrites: one needs a cock to get by.
“I was just asking questions innocently, like, what is male and what is female?” says Shapiro. “There was no multiplicity of pronouns then, or anything like that. I was asking, do you have to be male—or act like a male—to be able to move ahead in the world, to be visible?”
The Whitney wasn’t having it.
Happily, Two Sides of Self and Woman Landing on Man in the Moon were both eventually acquired by the Seattle Art Museum in 2015—part of the Deed of Gift spearheaded by artist Matthew Offenbacher and his partner Jennifer Nemhauser after he won the Neddy Artist Award. Offenbacher used around $20,000 of the award funds to purchase works by women and queer artists, which were then gifted to SAM as a gesture of solidarity to the community and an attempt to help rectify the dearth of work by minorities in the museum’s collection.
That would be far in the future, however.
Following the ’73 exhibit, Shapiro withdrew from the art world. She would continue to paint, but she would not be censored, nor self-censor. Going forward, she exhibited only in underground spaces and spent the next two decades as a self-described “academic vagabond woman.” She taught criticism and art at universities across the country. She spent a semester in a boat sailing the world. In her six years of undergrad and graduate school, Shapiro had never had a woman teacher, not once; while teaching, she found herself the sole woman in every department. The token female academic, with a strap-on cock for a nose.
Or a gorilla mask. It was around this time that Shapiro found herself amid a group of like-minded artists who were pissed. It was also around this time that a close friend was diagnosed with AIDS, an event that would indirectly shift the trajectory of her life. Shapiro took up volunteering at a clinic in Austin that treated people with the disease. The clinic happened to specialize in acupuncture.
“When I started reading about the theory and history and philosophy of Chinese medicine, it was like falling in love,” she says. The definition of qi is not merely energy, Shapiro explains: “It is matter on the verge of becoming. It’s that moment when you’re living and dying simultaneously. And that’s what I’m trying to paint about, the dichotomies—that things aren’t in opposition, but they’re in interconnectivity.”
Shapiro left her university job to study acupuncture in Seattle. Just for a year (she thought). She fell for the practice as much as the theory—and she was really good at it.
To say Shapiro’s work/life amounts to something approximating Gesamtkunstwerk—a total work of art, in which everything merges into a cohesive whole—is far from a stretch, as art and acupuncture melded on the island she made home. During this time she published multiple books, including a picture book about Vashon, My Island, and a graphic novel, Art Notes of an Acupuncturist. In the latter, she outlines a pictorial history of the synaesthetic cosmologies contained within the human body. With bursts of grotesque humor and poetic wit, Shapiro illustrates the interconnections at play in orifices and organs, tracing the invisible threads between elements and colors, emotions and smells. It reads like a legend to unlock the symbolism of her later work.
Because the demand for Shapiro’s art has increased, there’s less time for acupuncture lately; almost all her hours are committed to the studio, where she’s currently working on six pieces for her upcoming exhibit at SAM. As she leads the way into her workspace—a standalone building behind her house, where soft island light pours through skylights—she explains a piece she is working on, about the ginkgo trees she recently encountered in Japan. “They’re the oldest trees in existence, living fossils,” Shapiro muses. “They survived the Hiroshima atomic bomb.”
But, of course, it’s about more than just that. If you look closely, you can trace the nervous system of the universe in the wood and roots of those trees.
ICE Says They Will Play “Key Part of Overall Security Apparatus” of World Cup [The Stranger]
Hey, we’re hosting the World Cup, and not far from the immigrant rich Chinatown-International District. And since this is the “World” Cup, tens of thousands of people from around the world will be here. That's a problem! by Vivian McCall
While defending Trump’s mass deportation program before Congress today, ICE’s acting director Todd Lyons told Rep. Nellie Pou of New Jersey that the agency would be a “key part of the overall security apparatus” of the FIFA World Cup this year.
Hey, we’re hosting the World Cup, and not far from the immigrant rich Chinatown-International District. And since this is the “World” Cup, the world will be here.
That’s a problem. Not only for us, but for Los Angeles, San Francisco, Boston, Philadelphia, Pou’s East Rutherford, New Jersey, and all the other host cities that’ve promised to protect their immigrants from this violent, unpopular agency.
I asked Mayor Katie Wilson’s office if A) this is the first they’ve heard of this B) whether the Department of Homeland Security, ICE, Customs and Border Protection, or the Trump Administration informed the city of its “security apparatus” C) if they suspected this would happen, given ICE’s vague security role at the Winter Olympics and D) what it can do to protect Seattle if ICE does come here for the World Cup.
The office did not return my request for comment.
Lyons didn’t pull this plan out of thin air. Last summer,
Border Patrol posted and then deleted a statement on Facebook
saying that they would be “suited and booted ready to provide
security for the first round of games.” And yesterday, radio
station KTTH wrote that Seattle will “be protected by a
unified, multi-agency security operation” as it prepares to
host the matches.
“What you have when you have U.S. government agencies
thinking about the defense and the security of U.S. national
security and citizens is pulling together our top resources and the
most experienced folks from the U.S. government who have worked on
these major events,” Mignon Houston, the deputy spokesperson
for the U.S. Department of State, told conservative radio host
Jason Rantz.
Patch Tuesday, February 2026 Edition [Krebs on Security]
Microsoft today released updates to fix more than 50 security holes in its Windows operating systems and other software, including patches for a whopping six “zero-day” vulnerabilities that attackers are already exploiting in the wild.

Zero-day #1 this month is CVE-2026-21510, a security feature bypass vulnerability in Windows Shell wherein a single click on a malicious link can quietly bypass Windows protections and run attacker-controlled content without warning or consent dialogs. CVE-2026-21510 affects all currently supported versions of Windows.
The zero-day flaw CVE-2026-21513 is a security bypass bug targeting MSHTML, the proprietary engine of the default Web browser in Windows. CVE-2026-21514 is a related security feature bypass in Microsoft Word.
The zero-day CVE-2026-21533 allows local attackers to elevate their user privileges to “SYSTEM” level access in Windows Remote Desktop Services. CVE-2026-21519 is a zero-day elevation of privilege flaw in the Desktop Window Manager (DWM), a key component of Windows that organizes windows on a user’s screen. Microsoft fixed a different zero-day in DWM just last month.
The sixth zero-day is CVE-2026-21525, a potentially disruptive denial-of-service vulnerability in the Windows Remote Access Connection Manager, the service responsible for maintaining VPN connections to corporate networks.
Chris Goettl at Ivanti reminds us Microsoft has issued several out-of-band security updates since January’s Patch Tuesday. On January 17, Microsoft pushed a fix that resolved a credential prompt failure when attempting remote desktop or remote application connections. On January 26, Microsoft patched a zero-day security feature bypass vulnerability (CVE-2026-21509) in Microsoft Office.
Kev Breen at Immersive notes that this month’s Patch Tuesday includes several fixes for remote code execution vulnerabilities affecting GitHub Copilot and multiple integrated development environments (IDEs), including VS Code, Visual Studio, and JetBrains products. The relevant CVEs are CVE-2026-21516, CVE-2026-21523, and CVE-2026-21256.
Breen said the AI vulnerabilities Microsoft patched this month stem from a command injection flaw that can be triggered through prompt injection, or tricking the AI agent into doing something it shouldn’t — like executing malicious code or commands.
“Developers are high-value targets for threat actors, as they often have access to sensitive data such as API keys and secrets that function as keys to critical infrastructure, including privileged AWS or Azure API keys,” Breen said. “When organizations enable developers and automation pipelines to use LLMs and agentic AI, a malicious prompt can have significant impact. This does not mean organizations should stop using AI. It does mean developers should understand the risks, teams should clearly identify which systems and workflows have access to AI agents, and least-privilege principles should be applied to limit the blast radius if developer secrets are compromised.”
The SANS Internet Storm Center has a clickable breakdown of each individual fix this month from Microsoft, indexed by severity and CVSS score. Enterprise Windows admins involved in testing patches before rolling them out should keep an eye on askwoody.com, which often has the skinny on wonky updates. Please don’t neglect to back up your data if it has been a while since you’ve done that, and feel free to sound off in the comments if you experience problems installing any of these fixes.
No One, Including Our Furry Friends, Will Be Safer in Ring's Surveillance Nightmare [Deeplinks]
Amazon Ring’s Super Bowl ad offered a vision of our streets that should leave every person unsettled about the company’s goals for disintegrating our privacy in public.
In the ad, disguised as a heartfelt effort to reunite the lost dogs of the country with their innocent owners, the company previewed future surveillance of our streets: a world where biometric identification could be unleashed from consumer devices to identify, track, and locate anything — human, pet, and otherwise.
The ad for Ring’s “Search Party” feature highlighted the doorbell camera’s ability to scan footage across Ring devices in a neighborhood, using AI analysis to identify potential canine matches among the many personal devices within the network.
Amazon Ring already integrates biometric identification, like face recognition, into its products via features like "Familiar Faces,” which depends on scanning the faces of those in sight of the camera and matching it against a list of pre-saved, pre-approved faces. It doesn’t take much to imagine Ring eventually combining these two features: face recognition and neighborhood searches.
Ring’s “Familiar Faces” feature could already run afoul of biometric privacy laws in some states, which require explicit, informed consent from individuals before a company can just run face recognition on someone. Unfortunately, not all states have similar privacy protections for their residents.
Ring has a history of privacy violations, enabling surveillance of innocents and protestors, and close collaboration with law enforcement, and EFF has spent years reporting on its many privacy problems.
The cameras, which many people buy and install to identify potential porch pirates or get a look at anyone that might be on their doorstep, feature microphones that have been found to capture audio from the street. In 2023, Ring settled with the Federal Trade Commission over the extensive access it gave employees to personal customer footage. At that time, just three years ago, the FTC wrote: “As a result of this dangerously overbroad access and lax attitude toward privacy and security, employees and third-party contractors were able to view, download, and transfer customers’ sensitive video data for their own purposes.”
The company has made law enforcement access a regular part of its business. As early as 2016, the company was courting police departments through free giveaways. The company provided law enforcement warrantless access to people’s footage, a practice they claimed to cut off in 2024. Not long after, though, the company established partnerships with major police companies Axon and Flock Safety to facilitate the integration of Ring cameras into police intelligence networks. The partnership allows law enforcement to again request Ring footage directly from users. This supplements the already wide-ranging apparatus of data and surveillance feeds now available to law enforcement.
This feature is turned on by default, meaning that Ring owners need to go into the controls to change it. According to Amazon Ring’s instructions, this is how to disable the “search party” feature:
The addition of AI-driven biometric identification is the latest entry in the company’s history of profiting off of public safety worries and disregard for individual privacy, one that turbocharges the extreme dangers of allowing this to carry on. People need to reject this kind of disingenuous framing and recognize the potential end result: a scary overreach of the surveillance state designed to catch us all in its net.
The Big Idea: Kristina W. Kelly [Whatever]

Nothing beats away a dreary February day like curling up with a cozy fantasy novel. Even better when that novel is a sapphic love story with iguana, cat, and mushroom people! Grab a seat by the fire and a cup of hot chocolate (or tea) and listen to author Kristina W. Kelly’s Big Idea as she shows you the magical world of Tea Tale.
KRISTINA W. KELLY:
What happens when you second guess who you are? When you begin to rethink what really defines you? What happens when your faith betrays you, lies, and hides truths?
Everything begins to crumble. Like a sea cliff battered by eons of waves.
And if you’re Divine, your magic goes haywire and you start to wonder if you can hear animals talk. You change. You become. Maybe not something new, but someone different.
The idea for Tea Tale started simple: I wanted to feature my favorite beverage—tea—, pay homage to my favorite video games (as I did with the first book in the series, Tavern Tale), and set it all in winter. Of course, I needed to carry through the subplots and address some of the unanswered questions from that first book. What emerged was a quest to sprinkle religious betrayal over a sapphic pairing within the framework of Role Playing Games (RPGs).
Divine is a healer. Or was a healer. Her path used to be clear: serve the Goddess of Souls by caring for the living. She’d influence emotions, heal wounds, shield others from harm. The teachings of her temple always seemed contradictory to the way she lived, though.
Her temple, like all the temples in Trelvania, said that non-humans—races like the Iguions (iguana-like bipeds), the Kellas (feline humanoids), and Thospori (think mushroom warriors)—couldn’t receive the blessings from the deities. Simply because they were non-human. Oh, the temples said something about how non-humans don’t have magical power, of course, so that’s why they couldn’t be on the receiving end of magic. But Divine had healed a Kellas child. She had healed an Iguion adult. She had done what was supposed to be impossible. Forbidden.
When I was growing up, I was taught that I was born evil. A child tainted and only by a blood sacrifice could I be saved from these sins I hadn’t even committed. These same people told me that because I was a woman, despite my music education degree, I couldn’t lead the church orchestra. I could help in the nursery with the babies, though. All the other jobs were for men. I was led to believe that god thought I wasn’t equal or as capable because of my gender. Those same people decreed “love your neighbor”, but showed that only counted for some of the population. Even though the greatest command was love, people couldn’t love whomever they wanted.
Whether sudden or gradual, I eventually found myself changed. I had sought experts who studied the historical context and the translations that made sense in that period, not a modern view. I discovered that sentences I had etched into my brain weren’t even in the texts we had been reading and that books were left or added depending on the particular flavor of faith. I learned about the practices of different cultures and religions and the history of the one I’d known. I found people who were exploring their spiritually like I was and discussed their journeys. And I began to explore who I was without all of the baggage, shame, and fear I’d been taught.
When the community you trusted had it wrong, how do you replace that feeling of community? These questions I’ve been asking you, reader, is what I attempted to capture in Tea Tale. Yes, Tea Tale is cozy fantasy, but with a sip of religious oppression.
The faire in Tea Tale is inspired by holiday events in MMORPGs and one of my favorite RPGs ever, Chrono Cross. There’s special games, unique items, decorations, and event food like the Millennial Fair in Chrono Cross. Divine’s tasting tea by the fire and listening to musicians. When she helps prepare the Sultry Sapphire tavern for the Midwinter Nights Faire, the notes of RPG influences really come through. I love a good quest chain in video games, where my character runs around the city helping ten people just to get five mushrooms back to the first quest-giver. Divine’s tasks become more tasks—side quests—as she also tries to find a gift for her romantic interest.
But while Divine does all of that, she’s also struggling to understand her magic when it seems to be acting contrary to what her temple taught her.
Just like I sought experts, Divine seeks experts to understand how magic really works in her world and how she connects to it. She talks to the non-humans who are, quite frankly, oppressed by the temples of Trelvania and uncovers that the truths her temples spout might not be the whole story. She grapples with what it means to have lived so many years within an organization that didn’t respect her enough to tell her the truth. And if she’s not that person, she wants to discover who she is.
Divine tackles replacing her religious community with those around her who support her without expecting something in return. Like me, she befriends those who are questioning the same ideas she is, or find friends who have never followed the temples. Ordinary people who come together to make a difference. A community and a found family.
Tea Tale focuses on people coming together during their Midwinter Nights Faire to enjoy each other, get creative through poetry and music, and spread joy through gift giving, food, and hot drinks. From Divine’s love interest, Saph, donating food to those in need, to Divine advocating for change in the way non-humans are treated, the characters find small ways to collectively be impactful. “If no one is being a voice,” Divine thinks, “then I should. Someone must do something.”
At its heart, Tea Tale is full of magic, tea, and cozy moments. One of the things I love about modern RPGs is that the games give your character the option to pick any love interest they want. The world of Tea Tale is just like that—it’s a queer normative. But just like life, there are lies and injustices to chip away at to free who we want to be.
I’m still learning every day who I am. It’s ok to change. To become different as I grow. If we can surround ourselves with love, empathy, and patience we can find our true power. We can crack the deceit wide open and find warmth and friendship. Together, we lay those broken pieces, starting a foundation where others can feel safe to be who they want to be while sipping hot tea that smells of lavender and vanilla. When faced with lies and disparity…become someone different.
Tea Tale: Amazon|Barnes & Noble|Bookshop|Space Wizards
Speaking Freely: Yazan Badran [Deeplinks]
Interviewer: Jillian York
Yazan Badran is an assistant professor in international media and communication studies at the Vrije Universiteit Brussel, and a researcher at the Echo research group. His research focuses on the intersection between media, journalism and politics particularly in the MENA region and within its exilic and diasporic communities.
*This interview has been edited for length and clarity.
Jillian York: What does free speech or free expression mean to you?
Yazan Badran: So I think there are a couple of layers to that question. There's a narrow conception of free speech that is related to, of course, your ability to think about the world.
And that also depends on having the resources to be able to think about the world, to having resources of understanding about the world, having resources to translate that understanding into thoughts and analysis yourself, and then being able to express that in narratives about yourself with others in the world. And again, that also requires resources of expression, right?
So there's that layer, which means that it's not simply the absence of constraints around your expression and around your thinking, but actually having frameworks that activate you expressing yourself in the world. So that's one element of free expression or free speech, or however you want to call it.
But I feel that remains too narrow if we don't account also for the counterpart, which is having frameworks that listen to you as you express yourself into the world, right? Having people, institutions, frameworks that are actively also listening, engaging, recognizing you as a legitimate voice in the world. And I think these two have to come together in any kind of broad conception of free speech, which entangles you then in a kind of ethical relationship that you have to listen to others as well, right? It becomes a mutual responsibility from you towards the other, towards the world, and for the world towards you, which also requires access to resources and access to platforms and people listening to you.
So I think these two are what I, if I want to think of free speech and free expression, I would have to think about these two together. And most of the time there is a much narrower focus on the first, and somewhat neglecting the second, I think.
JY: Yeah, absolutely. Okay, now I have to ask, what is an experience that shaped these views for you?
YB: I think two broad experiences. One is the…let's say, the 2000s, the late 2000s, so early 2010 and 2011, where we were all part of this community that was very much focused on expression and on limiting the kind of constraints around expression and thinking of tools and how resources can be brought towards that. And there were limits to where that allowed us to go at a certain point.
And I think the kind of experiences of the Arab uprisings and what happened afterwards and the kind of degeneration across the worlds in which we lived kind of became a generative ground to think of how that experience went wrong or how that experience fell short.
And then building on that, I think when I started doing research on journalism and particularly on exiled journalists and thinking about their practice and their place in the world and the fact that in many ways there were very little constraints on what they could do and what they could voice and what they could express, et cetera.
Not that there are no constraints, there are always constraints, but that the nature of constraints were different - they were of the order of listening; who is listening to this? Who is on the other side? Who are you engaged in a conversation with? And that was, from speaking to them, a real kind of anxiety that came through to me.
JY: I think you're sort of alluding to theory of change…
YB: Yes, to some extent, but also to…when we think about our contribution into the world, to what kind of the normative framework we imagine. As people who think about all of these structures that circulate information and opinion and expressions, et cetera, there is often a normative focus, where there should be, about opening up constraints around expression and bringing resources to bear for expression, and we don't think enough of how these structures need also to foster listening and to foster recognition of these expressions.
And that is the same with, when we think about platforms on the internet and when we think about journalism, when we think about teaching… For example, in my field, when we think about academic research, I think you can bring that framework in different places where expression is needed and where expression is part of who we are. Does that make sense?
JY: Absolutely. It absolutely makes sense. I think about this all the time. I'm teaching now too, and so it's very, very valuable. Okay, so let's shift a little bit. You're from Syria. You've been in Brussels for a long time. You were in Japan in between. You have a broad worldview, a broad perspective. Let’s talk about press freedom.
YB: Yeah, I've been thinking about this because, I mean, I work on journalism and I'm trying to do some work on Syria and what is happening in Syria now. And I feel there are times where people ask me about the context for journalistic work in Syria. And the narrow answer and the clear answer is that we've never had more freedom to do journalism in the country, right? And there are many reasons. Part of it is that this is a new regime that perhaps doesn't still have complete control over the ground. There are differentiated contexts where in some places it's very easy to go out and to access information and to speak to people. In other places, it's less easy, it's more dangerous, etc. So it's differentiated and it's not the same everywhere.
But it's clear that journalists come out and in from Syria. They can do their job relatively unmolested, which is a massive kind of change, contrast to the last thirteen or fourteen years where Syria was an information black hole. You couldn't do anything.
But that remains somewhat narrow in thinking about journalism in Syria. What is journalism about Syria in this context? What kind of journalism do we need to be thinking about? In a place that is in, you know, ruins, if not material destruction, then economic and societal disintegration, et cetera. So there are, I think, two elements. Sure, you can do journalism, but what kind of journalism is being done in Syria? I feel that we have to be asking a broader question about what is the role of information now more broadly in Syria?
And that is a more difficult question to answer, I feel. Or a more difficult question to answer positively. Because it highlights questions about who has access to the means of journalism now in Syria? What are they doing with it? Who has access to the sources, and can provide actual understanding about the political or economic developments that are happening in the country. Very few people who have genuine understanding of the processes are going into building a new regime, a new state. In general, we have very, very little access. There are few avenues to participate and gain access to what is happening there.
So sure, you can go on the ground, you can take photos, you can speak to people, but in terms of participating in that broader nation-building exercise that is happening; this is happening at a completely different level to the places that we have access to. And with few exceptions, journalism as practiced now is not bringing us closer to these spaces.
In a narrow sense, it's a very exciting time to be looking at experiments in doing journalism in Syria, to also be seeing the interaction between international journalists and local journalists and also the kind of tensions and collaborations and discussion around structural inequalities between them; especially from a researcher’s perspective. But it remains very, very narrow. In terms of the massive story, which is a complete revolution in the identity of the country, in its geopolitical arrangement, in its positioning in the world, and that we have no access to whatsoever. This is happening well over our heads—we are almost bystanders.
JY: That makes sense. I mean, it doesn't make sense, but it makes sense. What role does the internet and maybe even specifically platforms or internet companies play in Syria? Because with sanctions lifted, we now have access to things that were not previously available. I know that the app stores are back, although I'm getting varied reports from people on the ground about how much they can actually access, although people can download Signal now, which is good. How would you say things have changed online in the past year?
YB: In the beginning, platforms, particularly Facebook, and it's still really Facebook, were the main sphere of information in the country. And to a large extent, it remains the main sphere where some discussions happen within the country.
These are old networks that were reactivated in some ways, but also public spheres that were so completely removed from each other that opened up on each other after December. So you had really almost independent spheres of activity and discussion. Between areas that were controlled by the regime, areas that were controlled by the opposition, which kind of expanded to areas of Syrian refugees and diaspora outside.
And these just collapsed on each other after 8th of December with massive chaos, massive and costly chaos in some ways. The spread of disinformation, organic disinformation, in the first few months was mind-boggling. I think by now there's a bit of self-regulation, but also another movement of siloing, where you see different clusters hardening as well. So that kind of collapse over the first few months didn't last very long.
You start having conversations in isolation of each other now. And I'm talking mainly about Facebook, because that is the main network, that is the main platform where public discussions are happening. Telegram was the public infrastructure of the state for a very long time, for the first six months. Basically, state communication happened through Telegram, through Telegram channels, also causing a lot of chaos. But now you have a bit more stability in terms of having a news agency. You have the television, the state television. So the importance of Telegram has waned off, but it's still a kind of parastructure of state communication, it remains important.
I think more structurally, these platforms are basically the infrastructure of information circulation because of the fact that people don't have access to electricity, for example, or for much of the time they have very low access to bandwidth. So having Facebook on their phone is the main way to keep in touch with things. They can't turn on the television, they can't really access internet websites very easily. So Facebook becomes materially their access to the world. Which comes with all of the baggage that these platforms bring with them, right? The kind of siloing, the competition over attention, the sensationalism, these clustering dynamics of these networks and their algorithms.
JY: Okay, so the infrastructural and resource challenges are real, but then you also have the opening up for the first time of the internet in many, many years, or ever, really. And as far as I understand from what friends who’ve been there have reported, is that nothing being blocked yet. So what impact do you see or foresee that having on society as people get more and more online? I know a lot of people were savvy, of course, and got around censorship, but not everyone, right?
YB: No, absolutely, absolutely not everyone. Not everyone has the kind of digital literacy to understand what going online means, right? Which accounts for one thing, the avalanche of fake information and disinformation that is now Syria, basically.
JY: It's only the second time this has happened. I mean, Tunisia is the only other example I can think of where the internet just opened right up.
YB: Without having gateways and infrastructure that can kind of circulate and manage and curate this avalanche of information. While at the same time, you have a real disintegration in the kind of social institutions that could ground a community. So you have really a perfect storm of a thin layer of digital connectivity, for a lot of people who didn't have access to even that thin layer, but it's still a very thin layer, right? You're connecting from your old smartphone to Facebook. You're getting texts, et cetera, and perhaps you're texting with the family over WhatsApp. And a real collapse of different societal institutions that also grounded you with others, right? The education system, of different clubs and different neighborhoods, small institutions that brought different communities together of the army, for example, universities, all of these have been disrupted over the past year in profound ways and along really communitarian ways as well. I don't know the kind of conditions that this creates, the combination of these two. But it doesn't seem like it's a positive situation or a positive dynamic.
JY: Yeah, I mean, it makes me think of, for example, Albania or other countries that opened up after a long time and then all of a sudden just had this freedom.
YB: But still combined, I mean, that is one thing, the opening up and the avalanche, and that is a challenge. But it is a challenge that perhaps within a settled society with some institutions in which you can turn to, through which you can regulate this, through which you can have countervailing forces and countervailing forums for… that’s one thing. But with the collapse of material institutions that you might have had, it's really creating a bewildering world for people, where you turn back and you have your family that maybe lives two streets away, and this is the circle in which you move, or you feel safe to move.
Of course, for certain communities, right? That is not the condition everywhere. But that is part of what is happening. There's a real sense of bewilderment in the kind of world that you live in. Especially in areas that used to be controlled by the regime where everything that you've known in terms of state authority, from the smallest, the lowliest police officer in your neighborhood, to people, bureaucrats that you would talk to, have changed or your relationship to them has fundamentally changed. There's a real upheaval in your world at different levels. And, you know, and you're faced with a swirling world of information that you can't make sense out of.
JY: I do want to put you on the spot with a question that popped into my head, which is, I often ask people about regulation and depending on where they're working in the world, especially like when I'm talking to folks in Africa and elsewhere. In this case, though, it's a nation-building challenge, right? And so—you're looking at all of these issues and all of these problems—if you were in a position to create press or internet regulation from the ground up in Syria, what do you feel like that should look like? Are there models that you would look to? Are there existing structures or is there something new or?
YB: I think maybe I don't have a model, but I think maybe a couple of entry points that you would kind of use to think of what model of regulation you want is to understand that there the first challenge is at the level of nation building. Of really recreating a national identity or reimagining a national identity, both in terms of a kind of shared imaginary of what these people are to each other and collectively represent, but also in terms of at the very hyper-local level of how these communities can go back to living together.
And I think that would have to shape how you would approach, say, regulation. I mean, around the Internet, that's a more difficult challenge. But at least in terms of your national media, for example, what is the contribution of the state through its media arm? What kind of national media do you want to put into place? What kind of structures allow for really organic participation in this project or not, right? But also at the level of how do you regulate the market for information in a new state with that level of infrastructural destruction, right? Of the economic circuit in which these networks are in place. How do you want to reconnect Syria to the world? In what ways? For what purposes?
And how do you connect all of these steps to open questions around identity and around that process of national rebuilding, and activating participation in that project, right? Rather than use them to foreclose these questions.
There are also certain challenges that you have in Syria that are endogenous, that are related to the last 14 years, to the societal disintegration and geographic disintegration and economic disintegration, et cetera. But on top of that, of course, we live in an information environment that is, at the level of the global information environment, also structurally cracking down in terms of how we engage with information, how we deal with journalism, how we deal with questions of difference. These are problems that go well beyond Syria, right? These are difficult issues that we don't know how to tackle here in Brussels or in the US, right? And so there's also an interplay between these two. There's an interplay between the fact that even here, we are having to come to terms with some of the myths around liberalism, around journalism, the normative model of journalism, of how to do journalism, right? I mean, we have to come to terms with it. The last two years—of the Gaza genocide—didn't happen in a vacuum. It was earth shattering for a lot of these pretensions around the world that we live in. Which I think is a bigger challenge, but of course it interacts with the kind of challenges that you have in a place like Syria.
JY: To what degree do you feel that the sort of rapid opening up and disinformation and provocations online and offline are contributing to violence?
YB: I think they're at the very least exacerbating the impact of that violence. I can't make claims about how much they're contributing, though I think they are contributing. I think there are clear episodes in which the kind of the circulation of misinformation online, you could directly link it to certain episodes of violence, like what happened in Jaramana before the massacre of the Druze. So a couple of weeks before the Druze, there was this piece of disinformation that led to actual violence and that set the stage to the massive violence later on. During the massacres on the coast, you could also link the kind of panic and the disinformation around the attacks of former regime officers and the effects of that to the mobilization that has happened. The scale of the violence is linked to the circulation of panic and disinformation. So there is a clear contribution. But I think the greater influence is how it exacerbates what happens after that violence, how it exacerbates the depth, for example, of divorce between between the population of Sweida after the massacre, the Druze population of Sweida and the rest of Syria. That is tangible. And that is embedded in the kind of information environment that we have. There are different kinds of material causes for it as well. There is real structural conflict there. But the kind of ideological, discursive, and affective, divorce that has happened over the past six months, that is a product of the information environment that we have.
JY: You are very much a third country, 4th country kid at this point. Like me, you connected to this global community through Global Voices at a relatively young age. In what ways do you feel that global experience has influenced your thinking and your work around these topics, around freedom of expression? How has it shaped you?
YB: I think in a profound way. What it does is it makes you to some extent immune from certain nationalist logics in thinking about the world, right? You have stakes in so many different places. You've built friendships, you've built connections, you've left parts of you in different places. And that is also certainly related to certain privileges, but it also means that you care about different places, that you care about people in many different places. And that shapes the way that you think about the world - it produces commitments that are diffused, complex and at times even contradictory, and it forces you to confront these contradictions. You also have experience, real experience in how much richer the world is if you move outside of these narrow, more nationalist, more chauvinistic ways of thinking about the world. And also you have kind of direct lived experience of the complexity of global circulation in the world and the fact, at a high level, it doesn't produce a homogenized culture, it produces many different things and they're not all equal and they're not all good, but it also leaves spaces for you to contribute to it, to engage with it, to actively try to play within the little spaces that you have.
JY: Okay, here’s my final question that I ask everyone. Do you have a free speech hero? Or someone who's inspired you?
YB: I mean, there are people whose sacrifices humble you. Many of them we don't know by name. Some of them we do know by name. Some of them are friends of ours. I keep thinking of Alaa [Abd El Fattah], who was just released from prison—I was listening to his long interview with Mada Masr (in Arabic) yesterday, and it’s…I mean…is he a hero? I don’t know but he is certainly one of the people I love at a distance and who continues to inspire us.
JY: I think he’d hate to be called a hero.
YB: Of course he would. But in some ways, his story is a tragedy that is inextricable from the drama of the last fifteen years, right? It’s not about turning him into a symbol. He's also a person and a complex person and someone of flesh and blood, etc. But he's also someone who can articulate in a very clear, very simple way, the kind of sense of hope and defeat that we all feel at some level and who continues to insist on confronting both these senses critically and analytically.
JY: I’m glad you said Alaa. He’s someone I learned a lot from early on, and there’s a lot of his words and thinking that have guided me in my practice.
YB: Yeah, and his story is tragic in the sense that it kind of highlights that in the absence of any credible road towards collective salvation, we're left with little moments of joy when there is a small individual salvation of someone like him. And that these are the only little moments of genuine joy that we get to exercise together. But in terms of a broader sense of collective salvation, I think in some ways our generation has been profoundly and decisively defeated.
JY: And yet the title of his book, “you have not yet been defeated.”
YB: Yeah, it's true. It's true.
JY: Thank you Yazan for speaking with me.
Record your question for the Savage Lovecast at savage.love/askdan! by Dan Savage I had a great time at Mr. Mid-Atlantic Leather last month in Washington D.C. For those who don’t know, MAL is an annual fetish event for gay men. There is a lot of socializing in the lobby of the host hotel and a lot of kinky play in the rooms. One of the highlights for me was a mummification party. However, things got awkward when I had to explain to my friends that my husband thought I was on a business trip. We’ve been together for 25 years, living a happy life in a very blue college town in a very red state. Early in the relationship, he discovered that I am into BDSM when he found some Polaroids and some bondage gear in a duffel bag in the back of the closet. I had planned to tell him, just not at the very beginning of our relationship. Instead of…
[ Read more ]
Today's song: Eyes of the World.
Coalition Urges California to Revoke Permits for Federal License Plate Reader Surveillance [Deeplinks]
SAN FRANCISCO – California must revoke permits allowing federal agencies such as Customs and Border Patrol (CBP) and the Drug Enforcement Administration (DEA) to put automated license plate readers along border highways, a coalition led by the Electronic Frontier Foundation (EFF) and Imperial Valley Equity & Justice (IVEJ) demanded today.
In a letter to Gov. Gavin Newsom and California Department of Transportation (Caltrans) Director Dina El-Tawansy, the coalition notes that this invasive mass surveillance – automated license plate readers (ALPRs) often disguised as traffic barrels – puts both residents and migrants at risk of harassment, abuse, detention, and deportation.
“With USBP (U.S. Border Patrol) Chief Greg Bovino reported to be returning to El Centro sector, after leading a brutal campaign against immigrants and U.S. citizens alike in Los Angeles, Chicago, and Minneapolis, it is urgent that your administration take action,” the letter says. “Caltrans must revoke any permits issued to USBP. CBP, and DEA for these surveillance devices and effectuate their removal.”
Coalition members signing the letter include the California Nurses Association; American Federation of Teachers Guild, Local 1931; ACLU California Action; Fight for the Future; Electronic Privacy Information Center; Just Futures Law; Jobs to Move America; Project on Government Oversight; American Friends Service Committee U.S./Mexico Border Program; Survivors of Torture, International; Partnership for the Advancement of New Americans; Border Angels; Southern California Immigration Project; Trust SD Coalition; Alliance San Diego; San Diego Immigrant Rights Consortium; Showing Up for Racial Justice San Diego; San Diego Privacy; Oakland Privacy; Japanese American Citizens League and its Florin-Sacramento Valley, San Francisco, South Bay, Berkeley, Torrance, and Greater Pasadena chapters; Democratic Socialists of America- San Diego; Center for Human Rights and Privacy; The Becoming Project Inc.; Imperial Valley for Palestine; Imperial Liberation Collaborative; Comité de Acción del Valle Inc.; CBFD Indivisible; South Bay People Power; and queercasa.
California law prevents state and local agencies from sharing ALPR data with out-of-state agencies, including federal agencies involved in immigration enforcement. However, USBP, CBP, and DEA are bypassing these regulations by installing their own ALPRs.
EFF researchers have released a map of more than 40 of these covert ALPRs along highways in San Diego and Imperial counties that are believed to belong to federal agencies engaged in immigration enforcement. In response to a June 2025 public records request, Caltrans has released several documents showing CBP and DEA have applied for permits for ALPRs, with more expected as Caltrans continues to locate records responsive to the request.
“California must not allow Border Patrol and other federal agencies to use surveillance on our roadways to unleash violence and intimidation on San Diego and Imperial Valley residents,” the letter says. “We ask that your administration investigate and release the relevant permits, revoke them, and initiate the removal of these devices. No further permits for ALPRs or tactical checkpoints should be approved for USBP, CBP, or DEA.”
"The State of California must not allow Border Patrol to exploit our public roads and bypass state law," said Sergio Ojeda, IVEJ’s Lead Community Organizer for Racial and Economic Justice Programs. "It's time to stop federal agencies from installing hidden cameras that they use to track, target and harass our communities for travelling between Imperial Valley, San Diego and Yuma."
For the letter: https://www.eff.org/document/coalition-letter-re-covert-alprs
For the map of the covert ALPRs: https://www.eff.org/covertALPRmap
For high-res images of two of the covert ALPRs: https://www.eff.org/node/111725
For more about ALPRs: https://sls.eff.org/technologies/automated-license-plate-readers-alprs
Slog AM: Millionaire Tax Advances, Trump’s Consumer Protection Bureau Lost Us $19 Billion, EPA to Revoke Legal Basis of Clean Air Act Protections [The Stranger]
The Stranger's Morning News Roundup by Vivian McCall
Senate Committee Passes Millionaire’s Tax: The 9.9 percent income tax on people making more than $1 million a year is moving forward with a tax break for small businesses. Businesses making $300,000 or less won’t have to pay a dime of the state’s business and occupation (B&O) tax, while those making below $600,000 will see limited relief. The state Senate could vote on the bill as early as next week.
Party Fouls: Police arrested several people after the Seahawks won the Superbowl Sunday night. For having a good time? No, for DUI, assault, and weapons violations.
Not the Olympic Marmot! Our local whistling rodent isn’t on the endangered species list yet, but the US Fish and Wildlife Service has determined a petition to list them warrants further review. As temperatures warm, trees are advancing up the mountain, destroying the alpine meadows they call home. There’s no place else for them to go.
Fortunately, climate change is not real. Trump’s Environmental Protection Agency will revoke the “endangerment finding” this week, an Obama-era policy that determined that greenhouse gases like carbon dioxide threaten public health. The finding is the legal basis for nearly all regulations under the Clean Air Act.
At least we have our health? Roughly 19,000 fewer Washingtonians signed up for health insurance through the state’s online marketplace this year. The drop isn’t as bad as the state predicted (80,000), but decidedly not good either. The state’s Cascade Care Savings plan for people who make up to 250 percent of the federal poverty line helped mitigate the loss of federal subsidies this year, but it won’t last.
At least we have … capitalism? Trump’s Consumer Financial Protection Bureau has largely stopped protecting us, a decision that has cost Americans about $19 billion in the last year. The report says in the last year the CFPB has abandoned major consumer protections, stalled investigations, and dismissed lawsuits. Last year, Trump announced that he wanted to essentially pull the plug on the agency, reducing staff from 1,689 to 207, a move mercifully blocked in the courts.
Um, chat? Next month, default gamer messaging app Discord will automatically set user accounts to “teen-appropriate” experience, unless they can verify their age with a government ID or an AI face scan. This is the same company that exposed the government IDs of 70,000 users when a third party service it used for age verification was hacked.
Hostage Situation: Trump posted that he won’t open the Gordie Howe International Bridge between Detroit and Winsor, Canada until Canada has “fully compensated” the US for “everything we have given them.” “With all we have given them, we should own, perhaps, at least half of this asset.” Trump also said that if Canada made a trade deal with China, “the first thing China will do is terminate ALL Ice Hockey being played in Canada, and permanently eliminate The Stanley Cup.” What?
Rare W: The Republican Governor of New Hampshire vetoed her party’s anti-trans bathroom bill for a third time. Here’s the state’s motto: Live Free or Die.
ICYMI: If you miss rooting for the home team, you could watch Seattle drag queen Jane Don’t compete on Drag Race. Stranger contributor Mike Kohfeld has another RuPaul recap.
Phone … wallet … keys, and OH NO! A Louisiana National Guard soldier left his AR-15 in a hotel bathroom on Bourbon Street while on patrol in the French Quarter. “I kind of feel bad for him because that's one of the main rules of being in the Army I would think is you're always supposed to have your weapon in your hands and not in somebody else’s,” said French Quarter performer Nervous Dwayne.
I know nothing gets past you. But the less observant people in your life will appreciate this explainer of the political and cultural references in Bad Bunny’s Superbowl performance.
I believe many, many things get past this guy:
It literally had a heterosexual wedding, dude
— Justin Baragona (@justinbaragona.bsky.social) February 10, 2026 at 5:21 AM
[image or embed]
Liar: Trump has maintained he knew nothing of Jeffrey Epstein’s sex crimes. But in 2006, he told the then-chief of the Palm Beach police department Micahel Reiter that Epstein’s “activities” with teenage girls were well known in New York and Palm Beach. “Thank goodness you’re stopping him, everyone has known he’s been doing this,” Reiter recalled Trump saying in a 2019 FBI interview released in the Epstein case files.
A song for Trump:
How did Windows 95 get permission to put the Weezer video Buddy Holly on the CD? [The Old New Thing]
Some time ago, I noted that the Windows 95 CD contained a variety of multimedia extras, partly because they were fun, and partly to show off Windows 95’s multimedia capabilities.
One of those multimedia extras was the music video for the song Buddy Holly by the band Weezer. Acquiring permission to redistribute the video took multiple steps.
First, Microsoft had to secure the rights to the song itself, which was negotiated directly with Weezer’s publisher Geffen Records, and apparently without the knowledge of the band members themselves. They were reportedly upset that they weren’t consulted but later realized that it was “one of the greatest things that could have happened to us. Can you imagine that happening today? It’s like, there’s one video on YouTube, and it’s your video.”
But that only secured the rights to the music. What about the video?
The video takes place in a reconstruction of a location from the Happy Days television program, and clips from that show were spliced into the music video to create the illusion that many of the characters from the show were part of the video. The lawyer responsible for securing the rights to the video had to contact all of the actors from Happy Days to get their permission. That lawyer thoroughly enjoyed the assignment. I don’t know whether he got to talk to the actors directly, or only to their agents, but I can imagine it being an interesting experience trying to find Henry Winkler’s telephone number (or his agent’s telephone number) with a chance of talking to The Fonz himself.
The post How did Windows 95 get permission to put the Weezer video <I>Buddy Holly</I> on the CD? appeared first on The Old New Thing.
GTK hackfest, 2026 edition (GTK Development Blog) [LWN.net]
Matthias Clasen has published a short summary of the GTK hackfest held prior to FOSDEM 2026. Topics include discussions on unstable APIs, a decision to bump the C runtime requirement to C11 in the next development cycle, limiting changes in GTK3 to crash and build fixes, as well as the state of accessibility:
On the accessibility side, we are somewhat worried about the state of AccessKit. The code upstream is maintained, but we haven't seen movement in the GTK implementation. We still default to the AT-SPI backend on Linux, but AccessKit is used on Windows and macOS (and possibly Android in the future); it would be nice to have consumers of the accessibility stack looking at the code and issues.
On the AT-SPI side we are still missing proper feature negotiation in the protocol; interfaces are now versioned on D-Bus, but there's no mechanism to negotiate the supported set of roles or events between toolkits, compositors, and assistive technologies, which makes running newer applications on older OS versions harder.
From the NANOG list comes the sad news of the passing of Dave Farber.
His professional accomplishments and impact are almost endless, but often captured by one moniker: "grandfather of the Internet," acknowledging the foundational contributions made by his many students at the University of California, Irvine; the University of Delaware; the University of Pennsylvania; and Carnegie Mellon University.
See also: this announcement by Manny Farber on Farber's "Interesting People" list.
Open Letter to Tech Companies: Protect Your Users From Lawless DHS Subpoenas [Deeplinks]
We are calling on technology companies like Meta and Google to stand up for their users by resisting the Department of Homeland Security's (DHS) lawless administrative subpoenas for user data.
In the past year, DHS has consistently targeted people engaged in First Amendment activity. Among other things, the agency has issued subpoenas to technology companies to unmask or locate people who have documented ICE's activities in their community, criticized the government, or attended protests.
These subpoenas are unlawful, and the government knows it. When a handful of users challenged a few of them in court with the help of ACLU affiliates in Northern California and Pennsylvania, DHS withdrew them rather than waiting for a decision.
These subpoenas are unlawful, and the government knows it.
But it is difficult for the average user to fight back on their own. Quashing a subpoena is a fast-moving process that requires lawyers and resources. Not everyone can afford a lawyer on a moment’s notice, and non-profits and pro-bono attorneys have already been stretched to near capacity during the Trump administration.
That is why we, joined by the ACLU of Northern California, have asked several large tech platforms to do more to protect their users, including:
We sent the letter to Amazon, Apple, Discord, Google, Meta, Microsoft, Reddit, SNAP, TikTok, and X.
An administrative subpoena is an investigative tool available to federal agencies like DHS. Many times, these are sent to technology companies to obtain user data. A subpoena cannot be used to obtain the content of communications, but they have been used to try and obtain some basic subscriber information like name, address, IP address, length of service, and session times.
Unlike a search warrant, an administrative subpoena is not approved by a judge. If a technology company refuses to comply, an agency’s only recourse is to drop it or go to court and try to convince a judge that the request is lawful. That is what we are asking companies to do—simply require court intervention and not obey in advance.
It is unclear how many administrative subpoenas DHS has issued in the past year. Subpoenas can come from many places—including civil courts, grand juries, criminal trials, and administrative agencies like DHS. Altogether, Google received 28,622 and Meta received 14,520 subpoenas in the first half of 2025, according to their transparency reports. The numbers are not broken out by type.
In the past year, DHS has used these subpoenas to target protected speech. The following are just a few of the known examples.
On April 1, 2025, DHS sent a subpoena to Google in an attempt to locate a Cornell PhD student in the United States on a student visa. The student was likely targeted because of his brief attendance at a protest the year before. Google complied with the subpoena without giving the student an opportunity to challenge it. While Google promises to give users prior notice, it sometimes breaks that promise to avoid delay. This must stop.
In September 2025, DHS sent a subpoena and summons to Meta to try to unmask anonymous users behind Instagram accounts that tracked ICE activity in communities in California and Pennsylvania. The users—with the help of the ACLU and its state affiliates— challenged the subpoenas in court, and DHS withdrew the subpoenas before a court could make a ruling. In the Pennsylvania case, DHS tried to use legal authority that its own inspector general had already criticized in a lengthy report.
In October 2025, DHS sent Google a subpoena demanding information about a retiree who criticized the agency’s policies. The retiree had sent an email asking the agency to use common sense and decency in a high-profile asylum case. In a shocking turn, federal agents later appeared on that person’s doorstep. The ACLU is currently challenging the subpoena.
Podcast:
It occurred to me yesterday that there are a lot of parallels with
Frontier on the Mac in the early 90s and WordLand and WordPress in
the 2020s. So I told the story in a podcast and I think it came out
really well. I did some editing at the beginning and end, and as
usual my audio editing is pretty crude, but otherwise the story is
exactly as I told it. I also asked Claude.ai to do a third-person
summary of the podcast, as I did with the previous three shows, and
it's getting better. I encourage anyone who's involved in the
WordPress community to listen. I think WP has a bigger role to play
in the web than it currently has, which imho is saying a lot. 15
minutes.
AI in China and the United States [Radar]
At a private dinner a few months ago, Jensen Huang apparently said what I’ve been thinking for some time. The US is significantly behind China in AI development. Here are some of the reasons.
Huang starts with the ratio of AI developers in China (he estimates 1 million) to AI developers in the US (20,000). That’s a 50:1 ratio. While I think he’s overstating China and understating the US, I use a different metric that gives the same general result. When you’re reading academic papers about the latest developments in AI, count the authors with Asian names1; count the number with European names. For the moment, forget where the authors live or work: could be MIT, could be Alibaba. The Asian names (including South Asia) will be a significant majority.
Now remember where the authors might live, and consider the fact that the US has hung out a big “not welcome” sign for immigrants. Forget about “we only want the good immigrants”; that’s incredibly condescending, and no one of any nationality will believe it, or believe that they’ll be treated fairly once they arrive. Every immigrant worker in the US—or considering coming to the US—has to consider the possibility that he will be in the wrong place at the wrong time with the wrong skin color, and end up on a flight to a death camp. Are we surprised that international workers are leaving? Are we surprised that immigrants are arriving in smaller numbers? A $100,000 price tag on H1B visa applications says “We’ll only let you in if you make it worth our while.” That’s gangster talk, not responsible government. The US’s ability to train high-quality engineers and programmers and provide them with a high standard of living after graduation has historically been one of its greatest strengths. But given the current policies, are we surprised that fewer international students are coming to the US? China has built an impressive network of colleges and universities, particularly for engineering and the sciences. Students can get a first-rate education without the risks of coming to the US, risks that include having said the wrong things on social media and being sent back at the border.
Want Radar delivered straight to your inbox? Join us on Substack. Sign up here.
I read somewhere (might have been Kissinger) that no empire has survived without importing intellectual capital. That’s true of the Romans and the Greeks. That’s true of the British. And it’s true of the US and its massive immigrant workforce. (Unfortunately, providing essential skills and expertise has never protected immigrants from racism.) Joy’s law is about companies rather than nations, but it still applies: “No matter who you are, most of the smartest people work for someone else” is almost a restatement of the same idea. If you want to work with the smartest people, you have to bring as many as you can in from the outside—and even as you’re bringing outside workers in, the supply of good talent that doesn’t work for you will always exceed the talent you’ve managed to acquire. But now, think about what education means for this talent flow: China no longer needs to export students to the US and hope that some of them will return. And they’re in a position to attract talent from elsewhere.
Huang is also right that restrictions on semiconductor exports have not only failed, they are leading China to develop their own technology. China’s homegrown GPU industry has almost reached the level of the US’s and will no doubt surpass it. Restrictions on semiconductor sales have had another effect that Huang doesn’t mention. What do you do when you don’t have the fastest hardware? You make your software more efficient. You optimize it so it runs faster and draws less energy. You build it to run efficiently on older hardware using techniques like quantization. That’s evident in all of the recent models coming from China, from DeepSeek to the newly released Qwen-3-Max-Thinking or Kimi K2.5. The US is trapped in the notion that bigger is better2; China is playing the “better is small, more efficient, and open” card. Guess which one wins?
Electrical power tells a similar story. The top domestic AI companies are talking about building data centers that will require many more gigawatts of electrical capacity. The plan seems to be building that generation capacity with coal, gas, and nuclear—good luck. Those are the most expensive and inflexible ways to build capacity. The current administration has hobbled the development of solar power, wind power, and battery backup. China, while it’s also building out coal, is leading the world in building out solar capacity. It also leads the world in the development of solar and wind technology, only partly because of its rare-earth resources. It’s possible that the cost of coal generation might drop—after all, coal is a commodity that few nations want any more, and lack of demand might lead to a price collapse. But cheap coal and free solar are far from equivalent. If the AI powers-that-be in the US plan to build data centers at scale, they will need to come up with better, less expensive sources of power. That’s another area in which China is way ahead.
After reports of Huang’s dinner talk leaked, he walked back the remarks in some posts on X. But that begs the question: Which version do you believe? I know which version I believe; the evidence—personnel, chips, efficiency, power—all points in the same direction.
One Version of Events [The Daily WTF]
Jon supports some software that's been around
long enough that the first versions of the software ran
on, and I quote, "homegrown OS". They've long since migrated to
Linux, and in the process much of their software remained the same.
Many of the libraries that make up their application haven't been
touched in decades. Because of this, they don't really think too
much about how they version libraries; when they deploy they always
deploy the file as mylib.so.1.0. Their RPM
post-install scriptlet does an ldconfig after each
deployment to get the symlinks updated.
For those not deep into Linux library management, a brief
translation: shared libraries in Linux are .so files.
ldconfig is a library manager, which finds the
"correct" versions of the libraries you have installed and creates
symbolic links to standard locations, so that applications which
depend on those libraries can load them.
In any case, Jon's team's solution worked until it didn't. They
deployed a new version of the software, yum reported
success, but the associated services refused to start. This was
bad, because this happened in production. It didn't happen
in test. They couldn't replicate it anywhere else, actually. So
they built a new version of one of the impacted libraries, one with
debug symbols enabled, and copied that over. They manually updated
the symlinks, instead of using ldconfig, and launched
the service.
The good news: it worked.
The bad news: it worked, but the only difference was that the library was built with debug symbols. The functionality was exactly the same.
Well, that was the only difference other than the symlink.
Fortunately, a "before" listing of the library files was
captured before the debug version was installed, a standard
practice by their site-reliability-engineers. They do this any time
they try and debug in production, so that they can quickly revert
to the previous state. And in this previous version, someone
noticed that mylib.so was a symlink pointing to
mylib.so.1.0.bkup_20190221.
Once again, creating a backup file is a standard practice for
their SREs. Apparently, way back in 2019 someone was doing some
debugging. They backed up the original library file, but never
deleted the backup. And for some reason, ldconfig had
been choosing the backup file when scanning for the "correct"
version of libraries. Why?
Here, Jon does a lot of research for us. It turns out, if you start with the man pages, you don't get a answer- but you do get a warning:
ldconfig will look only at files that are named lib*.so* (for regular shared objects) or ld-.so (for the dynamic loader itself). Other files will be ignored. Also, ldconfig expects a certain pat‐
tern to how the symbolic links are set up, like this example, where the middle file (libfoo.so.1 here) is the SONAME for the library:libfoo.so -> libfoo.so.1 -> libfoo.so.1.12
Failure to follow this pattern may result in compatibility issues after an upgrade.
Well, they followed the pattern, and they found compatibility
issues. But what exactly is going on here? Jon did the work of
digging straight into the ldconfig source to find out
the root cause.
The version detecting algorithm starts by looking directly at
filenames. While the man page warns about a
convention, ldconfig doesn't validate names against
this convention (which is probably the correct decision). Insetad,
to find which filename has the highest version number, it scans
through two filenames until finds numeric values in both of them,
then does some pretty manual numeric parsing:
int _dl_cache_libcmp(const char *p1, const char *p2) {
while (*p1 != '\0') {
if (*p1 >= '0' && *p1 <= '9') {
if (*p2 >= '0' && *p2 <= '9') {
/* Must compare this numerically. */
int val1;
int val2;
val1 = *p1++ - '0';
val2 = *p2++ - '0';
while (*p1 >= '0' && *p1 <= '9')
val1 = val1 * 10 + *p1++ - '0';
while (*p2 >= '0' && *p2 <= '9')
val2 = val2 * 10 + *p2++ - '0';
if (val1 != val2)
return val1 - val2;
} else
return 1;
} else if (*p2 >= '0' && *p2 <= '9')
return -1;
else if (*p1 != *p2)
return *p1 - *p2;
else {
++p1;
++p2;
}
}
return *p1 - *p2;
}
NB: this is the version of ldconfig at the time Jon
submitted this, and the version that they're using. I haven't dug
through to check if this is still true in the latest version.
That's an exercise for the reader.
While we have not hit the end of the first string, check if the character in that string is numeric. If it is, check if the character in the second string is numeric. If it is, keep scanning through characters, and for as long as they're numeric, keep parsing them into numbers. If the numbers aren't the same, we return the difference between them.
If the first string contains numbers at this point, but the second string doesn't, return 1. If the second string contains numbers but not the first, return -1. Otherwise, increment our pointers and go to the next character. If we reach the end of the string without finding numeric characters, return the difference between these two characters.
Also, correct me if I'm wrong, but it seems like a malicious set of filenames could cause buffer overruns here.
Now, I'll be honest, I don't have the fortitude to suggest that
ldconfig is TRWTF here. It's a venerable piece of
software that's solving an extremely hard problem. But boy, DLL
Hell is an unending struggle and this particular solution certainly
isn't helping. I'm honestly not entirely certain I'd say that there
was a true WTF here, just an unfortunate confluence of
people doing their best and ending up laying landmines for
others.
But here's the fun conclusion: the 2019 version of the library actually had been updated. They'd deployed several new versions between 2019 and 2024, when things finally blew up. The actual deployed software kept using the backup file from 2019, and while it may have caused hard-to-notice and harder-to-diagnose bugs, it didn't cause any crashes until 2024.
Security updates for Tuesday [LWN.net]
Security updates have been issued by AlmaLinux (fence-agents, firefox, fontforge, freerdp, kernel-rt, keylime, libsoup, libsoup3, nodejs22, nodejs24, opentelemetry-collector, osbuild-composer, python3.12-wheel, qemu-kvm, resource-agents, thunderbird, and util-linux), Debian (kernel, rlottie, shaarli, and usbmuxd), Fedora (asciinema, atuin, bustle, cef, envision, glycin, greetd, helix, java-21-openjdk, java-25-openjdk, java-latest-openjdk, keylime-agent-rust, maturin, mirrorlist-server, ntpd-rs, python3.6, rust-add-determinism, rust-afterburn, rust-ambient-id, rust-app-store-connect, rust-bat, rust-below, rust-btrd, rust-busd, rust-bytes, rust-cargo-c, rust-cargo-deny, rust-coreos-installer, rust-crypto-auditing-agent, rust-crypto-auditing-client, rust-crypto-auditing-event-broker, rust-crypto-auditing-log-parser, rust-dua-cli, rust-eif_build, rust-git-delta, rust-git-interactive-rebase-tool, rust-git2, rust-gst-plugin-dav1d, rust-gst-plugin-reqwest, rust-heatseeker, rust-ingredients, rust-jsonwebtoken, rust-lsd, rust-monitord, rust-monitord-exporter, rust-muvm, rust-nu, rust-num-conv, rust-onefetch, rust-oo7-cli, rust-pleaser, rust-pore, rust-pretty-git-prompt, rust-procs, rust-rbspy, rust-rbw, rust-rd-agent, rust-rd-hashd, rust-redlib, rust-resctl-bench, rust-resctl-demo, rust-routinator, rust-sccache, rust-scx_layered, rust-scx_rustland, rust-scx_rusty, rust-sequoia-chameleon-gnupg, rust-sequoia-keystore-server, rust-sequoia-octopus-librnp, rust-sequoia-sq, rust-sevctl, rust-shadow-rs, rust-sigul-pesign-bridge, rust-snpguest, rust-speakersafetyd, rust-tealdeer, rust-time, rust-time-core, rust-time-macros, rust-tokei, rust-weezl, rust-wiremix, rust-ybaas, rustup, sad, tbtools, tuigreet, and uv), Mageia (fontforge and nginx), Oracle (firefox, fontforge, freerdp, kernel, keylime, libsoup, python, thunderbird, and uek-kernel), SUSE (abseil-cpp and kernel), and Ubuntu (freerdp2 and libsoup3).
[$] FOSS in times of war, scarcity, and AI [LWN.net]
Michiel Leenaars, director of strategy at the NLnet Foundation, used his keynote at FOSDEM to sound warnings for the community for free and open-source (FOSS) software; in particular, he talked about the threats posed by geopolitical politics, dangerous allies, and large language models (LLMs). His talk was a mix of observations and suggestions that pertain to FOSS in general and to Europe in particular as geopolitical tensions have mounted in recent months.
Freexian Collaborators: Writing a new worker task for Debusine (by Carles Pina i Estany) [Planet Debian]

Debusine is a tool designed for Debian developers and Operating System developers in general. You can try out Debusine on debusine.debian.net, and follow its development on salsa.debian.org.
This post describes how to write a new worker task for Debusine. It can be used to add tasks to a self-hosted Debusine instance, or to submit to the Debusine project new tasks to add new capabilities to Debusine.
Tasks are the lower-level pieces of Debusine workflows. Examples of tasks are Sbuild, Lintian, Debdiff (see the available tasks).
This post will document the steps to write a new basic
worker task. The example will add a worker task that runs
reprotest and
creates an artifact of the new type ReprotestArtifact
with the reprotest log.
Tasks are usually used by workflows. Workflows solve high-level goals by creating and orchestrating different tasks (e.g. a Sbuild workflow would create different Sbuild tasks, one for each architecture).
A task usually does the following:
lintian,
debdiff, etc.). In this blog post, it will run
reprotestSuccess or
FailureIf you want to follow the tutorial and add the
Reprotest task, your Debusine development instance
should have at least one worker, one user, a debusine client set
up, and permissions for the client to create tasks. All of this can
be setup following the steps in the
Contribute section of the documentation.
This blog post shows a functional Reprotest task.
This task is not currently part of Debusine. The Reprotest task
implementation is simplified (no error handling, unit tests,
specific view, docs, some shortcuts in the environment preparation,
etc.). At some point, in Debusine, we
might add a debrebuild task which is based on
buildinfo files and uses snapshot.debian.org to recreate the binary
packages.
The input of the reprotest task will be a source artifact (a
Debian source package). We model the input with pydantic in
debusine/tasks/models.py:
class ReprotestData(BaseTaskDataWithExecutor):
"""Data for Reprotest task."""
source_artifact: LookupSingle
class ReprotestDynamicData(BaseDynamicTaskDataWithExecutor):
"""Reprotest dynamic data."""
source_artifact_id: int | None = None
The ReprotestData is what the user will input. A
LookupSingle is a
lookup that resolves to a single artifact.
We would also have configuration for the desired
variations to test, but we have left that out of this
example for simplicity. Configuring variations is left as an
exercise for the reader.
Since ReprotestData is a subclass of
BaseTaskDataWithExecutor it also contains
environment where the user can specify in which
environment the task will run. The environment is an artifact with
a Debian image.
The ReprotestDynamicData holds the resolution of
all lookups. These can be seen in the “Internals” tab
of the work request view.
Reprotest artifact data classIn order for the reprotest task to create a new Artifact of the
type DebianReprotest with the log and output metadata:
add the new category to ArtifactCategory in
debusine/artifacts/models.py:
REPROTEST = "debian:reprotest"
In the same file add the DebianReprotest class:
class DebianReprotest(ArtifactData):
"""Data for debian:reprotest artifacts."""
reproducible: bool | None = None
def get_label(self) -> str:
"""Return a short human-readable label for the artifact."""
return "reprotest analysis"
It could also include the package name or version.
In order to have the category listed in the work request output
artifacts table, edit the file
debusine/db/models/artifacts.py: In
ARTIFACT_CATEGORY_ICON_NAMES add
ArtifactCategory.REPROTEST: "folder", and in
ARTIFACT_CATEGORY_SHORT_NAMES add
ArtifactCategory.REPROTEST: "reprotest",.
In debusine/tasks/ create a new file
reprotest.py.
# Copyright © The Debusine Developers
# See the AUTHORS file at the top-level directory of this distribution
#
# This file is part of Debusine. It is subject to the license terms
# in the LICENSE file found in the top-level directory of this
# distribution. No part of Debusine, including this file, may be copied,
# modified, propagated, or distributed except according to the terms
# contained in the LICENSE file.
"""Task to use reprotest in debusine."""
from pathlib import Path
from typing import Any
from debusine import utils
from debusine.artifacts.local_artifact import ReprotestArtifact
from debusine.artifacts.models import (
ArtifactCategory,
CollectionCategory,
DebianSourcePackage,
DebianUpload,
WorkRequestResults,
get_source_package_name,
get_source_package_version,
)
from debusine.client.models import RelationType
from debusine.tasks import BaseTaskWithExecutor, RunCommandTask
from debusine.tasks.models import ReprotestData, ReprotestDynamicData
from debusine.tasks.server import TaskDatabaseInterface
class Reprotest(
RunCommandTask[ReprotestData, ReprotestDynamicData],
BaseTaskWithExecutor[ReprotestData, ReprotestDynamicData],
):
"""Task to use reprotest in debusine."""
TASK_VERSION = 1
CAPTURE_OUTPUT_FILENAME = "reprotest.log"
def __init__(
self,
task_data: dict[str, Any],
dynamic_task_data: dict[str, Any] | None = None,
) -> None:
"""Initialize object."""
super().__init__(task_data, dynamic_task_data)
self._reprotest_target: Path | None = None
def build_dynamic_data(
self, task_database: TaskDatabaseInterface
) -> ReprotestDynamicData:
"""Compute and return ReprotestDynamicData."""
input_source_artifact = task_database.lookup_single_artifact(
self.data.source_artifact
)
assert input_source_artifact is not None
self.ensure_artifact_categories(
configuration_key="input.source_artifact",
category=input_source_artifact.category,
expected=(
ArtifactCategory.SOURCE_PACKAGE,
ArtifactCategory.UPLOAD,
),
)
assert isinstance(
input_source_artifact.data, (DebianSourcePackage, DebianUpload)
)
subject = get_source_package_name(input_source_artifact.data)
version = get_source_package_version(input_source_artifact.data)
assert self.data.environment is not None
environment = self.get_environment(
task_database,
self.data.environment,
default_category=CollectionCategory.ENVIRONMENTS,
)
return ReprotestDynamicData(
source_artifact_id=input_source_artifact.id,
subject=subject,
parameter_summary=f"{subject}_{version}",
environment_id=environment.id,
)
def get_input_artifacts_ids(self) -> list[int]:
"""Return the list of input artifact IDs used by this task."""
if not self.dynamic_data:
return []
return [
self.dynamic_data.source_artifact_id,
self.dynamic_data.environment_id,
]
def fetch_input(self, destination: Path) -> bool:
"""Download the required artifacts."""
assert self.dynamic_data
artifact_id = self.dynamic_data.source_artifact_id
assert artifact_id is not None
self.fetch_artifact(artifact_id, destination)
return True
def configure_for_execution(self, download_directory: Path) -> bool:
"""
Find a .dsc in download_directory.
Install reprotest and other utilities used in _cmdline.
Set self._reprotest_target to it.
:param download_directory: where to search the files
:return: True if valid files were found
"""
self._prepare_executor_instance()
if self.executor_instance is None:
raise AssertionError("self.executor_instance cannot be None")
self.run_executor_command(
["apt-get", "update"],
log_filename="install.log",
run_as_root=True,
check=True,
)
self.run_executor_command(
[
"apt-get",
"--yes",
"--no-install-recommends",
"install",
"reprotest",
"dpkg-dev",
"devscripts",
"equivs",
"sudo",
],
log_filename="install.log",
run_as_root=True,
)
self._reprotest_target = utils.find_file_suffixes(
download_directory, [".dsc"]
)
return True
def _cmdline(self) -> list[str]:
"""
Build the reprotest command line.
Use configuration of self.data and self._reprotest_target.
"""
target = self._reprotest_target
assert target is not None
cmd = [
"bash",
"-c",
f"TMPDIR=/tmp ; cd /tmp ; dpkg-source -x {target} package/; "
"cd package/ ; mk-build-deps ; apt-get install --yes ./*.deb ; "
"rm *.deb ; "
"reprotest --vary=-time,-user_group,-fileordering,-domain_host .",
]
return cmd
@staticmethod
def _cmdline_as_root() -> bool:
r"""apt-get install --yes ./\*.deb must be run as root."""
return True
def task_result(
self,
returncode: int | None,
execute_directory: Path, # noqa: U100
) -> WorkRequestResults:
"""
Evaluate task output and return success.
For a successful run of reprotest:
-must have the output file
-exit code is 0
:return: WorkRequestResults.SUCCESS or WorkRequestResults.FAILURE.
"""
reprotest_file = execute_directory / self.CAPTURE_OUTPUT_FILENAME
if reprotest_file.exists() and returncode == 0:
return WorkRequestResults.SUCCESS
return WorkRequestResults.FAILURE
def upload_artifacts(
self, exec_directory: Path, *, execution_result: WorkRequestResults
) -> None:
"""Upload the ReprotestArtifact with the files and relationships."""
if not self.debusine:
raise AssertionError("self.debusine not set")
assert self.dynamic_data is not None
assert self.dynamic_data.parameter_summary is not None
reprotest_artifact = ReprotestArtifact.create(
reprotest_output=exec_directory / self.CAPTURE_OUTPUT_FILENAME,
reproducible=execution_result == WorkRequestResults.SUCCESS,
package=self.dynamic_data.parameter_summary,
)
uploaded = self.debusine.upload_artifact(
reprotest_artifact,
workspace=self.workspace_name,
work_request=self.work_request_id,
)
assert self.dynamic_data is not None
assert self.dynamic_data.source_artifact_id is not None
self.debusine.relation_create(
uploaded.id,
self.dynamic_data.source_artifact_id,
RelationType.RELATES_TO,
)
Below are the main methods with some basic explanation.
In order for Debusine to discover the task, add
"Reprotest" in the file
debusine/tasks/__init__.py in the __all__
list.
Let’s explain the different methods of the
Reprotest class:
build_dynamic_data
methodThe worker has no access to Debusine’s database. Lookups are all resolved before the task gets dispatched to a worker, so all it has to do is download the specified input artifacts.
build_dynamic_data method lookup the artifact,
assert that is a valid category, extract the package name and
version, and get the environment in which it will be executed.
The environment is needed to run the task
(reprotest will run in a container using
unshare, incus…).
def build_dynamic_data(
self, task_database: TaskDatabaseInterface
) -> ReprotestDynamicData:
"""Compute and return ReprotestDynamicData."""
input_source_artifact = task_database.lookup_single_artifact(
self.data.source_artifact
)
assert input_source_artifact is not None
self.ensure_artifact_categories(
configuration_key="input.source_artifact",
category=input_source_artifact.category,
expected=(
ArtifactCategory.SOURCE_PACKAGE,
ArtifactCategory.UPLOAD,
),
)
assert isinstance(
input_source_artifact.data, (DebianSourcePackage, DebianUpload)
)
subject = get_source_package_name(input_source_artifact.data)
version = get_source_package_version(input_source_artifact.data)
assert self.data.environment is not None
environment = self.get_environment(
task_database,
self.data.environment,
default_category=CollectionCategory.ENVIRONMENTS,
)
return ReprotestDynamicData(
source_artifact_id=input_source_artifact.id,
subject=subject,
parameter_summary=f"{subject}_{version}",
environment_id=environment.id,
)
get_input_artifacts_ids methodUsed to list the task’s input artifacts in the web UI.
def get_input_artifacts_ids(self) -> list[int]:
"""Return the list of input artifact IDs used by this task."""
if not self.dynamic_data:
return []
assert self.dynamic_data.source_artifact_id is not None
return [self.dynamic_data.source_artifact_id]
fetch_input methodDownload the required artifacts on the worker.
def fetch_input(self, destination: Path) -> bool:
"""Download the required artifacts."""
assert self.dynamic_data
artifact_id = self.dynamic_data.source_artifact_id
assert artifact_id is not None
self.fetch_artifact(artifact_id, destination)
return True
configure_for_execution methodInstall the packages needed by the task and set
_reprotest_target, which is used to build the
task’s command line.
def configure_for_execution(self, download_directory: Path) -> bool:
"""
Find a .dsc in download_directory.
Install reprotest and other utilities used in _cmdline.
Set self._reprotest_target to it.
:param download_directory: where to search the files
:return: True if valid files were found
"""
self._prepare_executor_instance()
if self.executor_instance is None:
raise AssertionError("self.executor_instance cannot be None")
self.run_executor_command(
["apt-get", "update"],
log_filename="install.log",
run_as_root=True,
check=True,
)
self.run_executor_command(
[
"apt-get",
"--yes",
"--no-install-recommends",
"install",
"reprotest",
"dpkg-dev",
"devscripts",
"equivs",
"sudo",
],
log_filename="install.log",
run_as_root=True,
)
self._reprotest_target = utils.find_file_suffixes(
download_directory, [".dsc"]
)
return True
_cmdline methodReturn the command line to run the task.
In this case, and to keep the example simple, we will run
reprotest directly in the worker’s executor
VM/container, without giving it an isolated virtual server.
So, this command installs the build dependencies required by the
package (so reprotest can build it) and runs reprotest
itself.
def _cmdline(self) -> list[str]:
"""
Build the reprotest command line.
Use configuration of self.data and self._reprotest_target.
"""
target = self._reprotest_target
assert target is not None
cmd = [
"bash",
"-c",
f"TMPDIR=/tmp ; cd /tmp ; dpkg-source -x {target} package/; "
"cd package/ ; mk-build-deps ; apt-get install --yes ./*.deb ; "
"rm *.deb ; "
"reprotest --vary=-time,-user_group,-fileordering,-domain_host .",
]
return cmd
Some reprotest variations are disabled. This is to keep the example simple with the set of packages to install and reprotest features.
_cmdline_as_root
methodSince during the execution it’s needed to install packages, run it as root (in the container):
@staticmethod
def _cmdline_as_root() -> bool:
r"""apt-get install --yes ./\*.deb must be run as root."""
return True
task_result methodTask succeeded if a log is generated and the return code is 0.
def task_result(
self,
returncode: int | None,
execute_directory: Path, # noqa: U100
) -> WorkRequestResults:
"""
Evaluate task output and return success.
For a successful run of reprotest:
-must have the output file
-exit code is 0
:return: WorkRequestResults.SUCCESS or WorkRequestResults.FAILURE.
"""
reprotest_file = execute_directory / self.CAPTURE_OUTPUT_FILENAME
if reprotest_file.exists() and returncode == 0:
return WorkRequestResults.SUCCESS
return WorkRequestResults.FAILURE
upload_artifacts
methodCreate the ReprotestArtifact with the log and the
reproducible boolean, upload it, and then add a relation between
the ReprotestArtifact and the source package:
def upload_artifacts(
self, exec_directory: Path, *, execution_result: WorkRequestResults
) -> None:
"""Upload the ReprotestArtifact with the files and relationships."""
if not self.debusine:
raise AssertionError("self.debusine not set")
assert self.dynamic_data is not None
assert self.dynamic_data.parameter_summary is not None
reprotest_artifact = ReprotestArtifact.create(
reprotest_output=exec_directory / self.CAPTURE_OUTPUT_FILENAME,
reproducible=execution_result == WorkRequestResults.SUCCESS,
package=self.dynamic_data.parameter_summary,
)
uploaded = self.debusine.upload_artifact(
reprotest_artifact,
workspace=self.workspace_name,
work_request=self.work_request_id,
)
assert self.dynamic_data is not None
assert self.dynamic_data.source_artifact_id is not None
self.debusine.relation_create(
uploaded.id,
self.dynamic_data.source_artifact_id,
RelationType.RELATES_TO,
)
To run this task in a local Debusine (see steps to have it ready with an environment, permissions and users created) you can do:
$ python3 -m debusine.client artifact import-debian -w System http://deb.debian.org/debian/pool/main/h/hello/hello_2.10-5.dsc
(get the artifact ID from the output of that command)
The artifact can be seen in
http://$DEBUSINE/debusine/System/artifact/$ARTIFACTID/.
Then create a reprotest.yaml:
$ cat <<EOF > reprotest.yaml
source_artifact: $ARTIFACT_ID
environment: "debian/match:codename=bookworm"
EOF
Instead of debian/match:codename=bookworm it could
use the artifact ID.
Finally, create the work request to run the task:
$ python3 -m debusine.client create-work-request -w System reprotest --data reprotest.yaml
Using Debusine web you can see the work request, which should go
to Running status, then Completed with
Success or Failure (depending if
reprotest could reproduce it or not). Clicking on the
Output tab would have an artifact of type
debian:reprotest with one file: the log. In the
Metadata tab of the artifact it has Data: the package
name and reproducible (true or false).
This was a simple example of creating a task. Other things that could be done:
variationsreprotest directly on the worker host,
using the executor environment as a reprotest
“virtual server”prepare_environment.QaWorkflow)Pluralistic: The Nuremberg Caucus (10 Feb 2026) [Pluralistic: Daily links from Cory Doctorow]
->->->->->->->->->->->->->->->->->->->->->->->->->->->->->
Top Sources: None -->

America's descent into authoritarian fascism is made all the more alarming and demoralizing by the Democrats' total failure to rise to the moment:
https://www.youtube.com/watch?v=KADW3ZRZLVI
But what would "rising to the moment" look like? What can the opposition party do without majorities in either house? Well, they could start by refusing to continue to fund ICE, a masked thug snatch/murder squad that roams our streets, killing with impunity:
That's table stakes. What would a real political response to fascism look like? Again, it wouldn't stop with banning masks for ICE goons, or even requiring them to wear QR codes:
https://gizmodo.com/dem-congressman-wants-to-make-ice-agents-wear-qr-codes-2000710345
Though it should be noted that ICE hates this idea, and that ICE agents wear masks because they fear consequences for their sadistic criminality:
This despite the fact that the (criminally culpable) Vice President has assured them that they have absolute impunity, no matter who they kill:
https://edition.cnn.com/2026/01/08/politics/ice-immunity-jd-vance-minneapolis
The fact that ICE agents worry about consequences despite Vance's assurances suggests ways that Dems could "meet the moment."
I think Dems should start a Nuremberg Caucus, named for the Nazi war-crimes trials that followed from the defeat of German fascists and the death of their leader:
https://en.wikipedia.org/wiki/Nuremberg_trials
What would this caucus do? Well, it could have a public website where it assembled and organized the evidence for the trials that the Democrats could promise to bring after the Trump regime falls. Each fresh outrage, each statement, each video-clip – whether of Trump officials or of his shock-troops – could be neatly slotted in, given an exhibit number, and annotated with the criminal and civil violations captured in the evidence.
The caucus could publish dates these trials will be held on – following from Jan 20, 2029 – and even which courtrooms each official, high and low, will be tried in. These dates could be changed as new crimes emerge, making sure the most egregious offenses are always at the top of the agenda. Each trial would have a witness list.
The Nuremberg Caucus could vow to repurpose ICE's $75b budget to pursue Trump's crimes, from corruption to civil rights violations to labor violations to environmental violations. It could announce its intent to fully fund the FTC and DoJ Antitrust Division to undertake scrutiny of all mergers approved under Trump, and put corporations on notice that they should expect lengthy, probing inquiries into any mergers they undertake between now and the fall of Trumpism. Who knows, perhaps some shareholders will demand that management hold off on mergers in anticipation of this lookback scrutiny, and if not, perhaps they will sue executives after the FTC and DoJ go to work.
While they're at it, the Nuremberg Caucus could publish a plan to hire thousands of IRS agents (paid for by taxing billionaires and zeroing out ICE's budget) who will focus exclusively on the ultra-wealthy and especially any supernormal wealth gains coinciding with the second Trump presidency.
Money talks. ICE agents are signing up with the promise of $50k hiring bonuses and $60k in student debt cancellation. That's peanuts. The Nuremberg Caucus could announce a Crimestoppers-style program with $1m bounties for any ICE officer who a) is themselves innocent of any human rights violations, and; b) provides evidence leading to the conviction of another ICE officer for committing human rights violations. That would certainly improve morale for (some) ICE officers.
Critics of this plan will say that this will force Trump officials to try to steal the next election in order to avoid consequences for their actions. This is certainly true: confidence in a "peaceful transfer of power" is the bedrock of any kind of fair election.
But this bunch have already repeatedly signaled that they intend to steal the midterms and the next general election:
ICE agents are straight up telling people that ICE is on the streets to arrest people in Democratic-leaning states ("The more people that you lose in Minnesota, you then lose a voting right to stay blue"):
The only path to fair elections – and saving America – lies through mobilizing and energizing hundreds of millions of Americans. They are ready. They are begging for leadership. They want an electoral choice, something better than a return to the pre-Trump status quo. If you want giant crowds at every polling place, rising up against ICE and DHS voter-suppression, then you have to promise people that their vote will mean something.
Dems have to pick a side. That means being against anyone who is for fascism – including other Dems. The Nuremberg Caucus should denounce the disgusting child abuse perpetrated by the Trump regime:
https://www.propublica.org/article/life-inside-ice-dilley-children
But they should also denounce Democrats who vote to fund that abuse:
The people of Minneapolis (and elsewhere) have repeatedly proven that we outnumber fascists by a huge margin. Dems need to stop demoralizing their base by doing nothing and start demonstrating that they understand the urgency of this crisis.

ENIAC Day Celebration https://www.helicoptermuseum.org/event-details/eniac-day-celebration
Matrix is quietly becoming the chat layer for governments chasing digital sovereignty https://www.theregister.com/2026/02/09/matrix_element_secure_chat/
The Children of Dilley https://www.propublica.org/article/life-inside-ice-dilley-children
Martin Shkreli Had a Point https://lpeproject.org/blog/martin-shkreli-had-a-point/
#20yrsago Ray Bradbury: LA needs monorails! https://www.latimes.com/archives/la-xpm-2006-feb-05-op-bradbury5-story.html
#20yrsago How statistics caught Indonesia’s war-criminals https://web.archive.org/web/20060423232814/https://www.wired.com/news/technology/1,70196-0.html
#20yrsago Canadian Red Cross vows to sue first aid kits, too https://memex.craphound.com/2006/02/10/canadian-red-cross-vows-to-sue-first-aid-kits-too/
#20yrsago Sports announcer traded for Walt Disney’s first character https://web.archive.org/web/20060312134156/http://sports.yahoo.com/nfl/news?slug=ap-nbc-michaels&prov=ap&type=lgns
#15yrago Government transparency doesn’t matter without accountability https://www.theguardian.com/technology/blog/2011/feb/10/government-data-crime-maps
#10yrsago Hackers stole 101,000 taxpayers’ logins/passwords from the IRS https://arstechnica.com/tech-policy/2016/02/irs-website-attack-nets-e-filing-credentials-for-101000-taxpayers/
#10yrsago CIA boss flips out when Ron Wyden reminds him that CIA spied on the Senate https://www.techdirt.com/2016/02/10/cia-director-freaks-out-after-senator-wyden-points-out-how-cia-spied-senate/
#10yrsago Ta-Nehisi Coates will vote for Bernie Sanders, reparations or no reparations https://www.youtube.com/watch?v=mSJmxN-L300
#10yrsago Gmail will warn you when your correspondents use unencrypted mail transport https://blog.google/products-and-platforms/products/gmail/making-email-safer-for-you-posted-by/
#10yrsago Detoxing is (worse than) bullshit: high lead levels in “detox clay” https://www.statnews.com/2016/02/02/detox-clay-fda-lead/
#10yrsago Nerdy Valentines to print and love https://www.evilmadscientist.com/2016/valentines-4/
#5yrsago A criminal enterprise with a country attachedhttps://pluralistic.net/2021/02/10/duke-sucks/#openlux
#5yrsago Tory donors reap 100X return on campaign contributions https://pluralistic.net/2021/02/10/duke-sucks/#chumocracy
#5yrsago Duke is academia's meanest trademark bully https://pluralistic.net/2021/02/10/duke-sucks/#devils
#5yrsago Crooked cops play music to kill livestreams https://pluralistic.net/2021/02/10/duke-sucks/#bhpd
#1yrago Hugh D'Andrade's "The Murder Next Door" https://pluralistic.net/2025/02/10/pivot-point/#eff

Montreal (remote): Fedimtl, Feb 24
https://fedimtl.ca/
Victoria: 28th Annual Victoria International Privacy &
Security Summit, Mar 3-5
https://www.rebootcommunications.com/event/vipss2026/
Berkeley: Bioneers keynote, Mar 27
https://conference.bioneers.org/
Berlin: Re:publica, May 18-20
https://re-publica.com/de/news/rp26-sprecher-cory-doctorow
Berlin: Enshittification at Otherland Books, May 19
https://www.otherland-berlin.de/de/event-details/cory-doctorow.html
Hay-on-Wye: HowTheLightGetsIn, May 22-25
https://howthelightgetsin.org/festivals/hay/big-ideas-2
Everything Wrong With the Internet and How to Fix It, with Tim
Wu (Ezra Klein)
https://www.nytimes.com/2026/02/06/opinion/ezra-klein-podcast-doctorow-wu.html
How the Internet Got Worse (Masters in Business)
https://www.youtube.com/watch?v=auXlkuVhxMo
Enshittification (Jon Favreau/Offline):
https://crooked.com/podcast/the-enshittification-of-the-internet-with-cory-doctorow/
Why Big Tech is a Trap for Independent Creators (Stripper
News)
https://www.youtube.com/watch?v=nmYDyz8AMZ0
"Enshittification: Why Everything Suddenly Got Worse and What to
Do About It," Farrar, Straus, Giroux, October 7 2025
https://us.macmillan.com/books/9780374619329/enshittification/
"Picks and Shovels": a sequel to "Red Team Blues," about the heroic era of the PC, Tor Books (US), Head of Zeus (UK), February 2025 (https://us.macmillan.com/books/9781250865908/picksandshovels).
"The Bezzle": a sequel to "Red Team Blues," about prison-tech and other grifts, Tor Books (US), Head of Zeus (UK), February 2024 (thebezzle.org).
"The Lost Cause:" a solarpunk novel of hope in the climate emergency, Tor Books (US), Head of Zeus (UK), November 2023 (http://lost-cause.org).
"The Internet Con": A nonfiction book about interoperability and Big Tech (Verso) September 2023 (http://seizethemeansofcomputation.org). Signed copies at Book Soup (https://www.booksoup.com/book/9781804291245).
"Red Team Blues": "A grabby, compulsive thriller that will leave you knowing more about how the world works than you did before." Tor Books http://redteamblues.com.
"Chokepoint Capitalism: How to Beat Big Tech, Tame Big Content, and Get Artists Paid, with Rebecca Giblin", on how to unrig the markets for creative labor, Beacon Press/Scribe 2022 https://chokepointcapitalism.com
"Enshittification, Why Everything Suddenly Got Worse and What to Do About It" (the graphic novel), Firstsecond, 2026
"The Post-American Internet," a geopolitical sequel of sorts to Enshittification, Farrar, Straus and Giroux, 2027
"Unauthorized Bread": a middle-grades graphic novel adapted from my novella about refugees, toasters and DRM, FirstSecond, 2027
"The Memex Method," Farrar, Straus, Giroux, 2027
Today's top sources:
Currently writing: "The Post-American Internet," a sequel to "Enshittification," about the better world the rest of us get to have now that Trump has torched America (1007 words today, 25708 total)
"The Post-American Internet," a short book about internet policy in the age of Trumpism. PLANNING.
A Little Brother short story about DIY insulin PLANNING

This work – excluding any serialized fiction – is licensed under a Creative Commons Attribution 4.0 license. That means you can use it any way you like, including commercially, provided that you attribute it to me, Cory Doctorow, and include a link to pluralistic.net.
https://creativecommons.org/licenses/by/4.0/
Quotations and images are not included in this license; they are included either under a limitation or exception to copyright, or on the basis of a separate license. Please exercise caution.
Blog (no ads, tracking, or data-collection):
Newsletter (no ads, tracking, or data-collection):
https://pluralistic.net/plura-list
Mastodon (no ads, tracking, or data-collection):
Medium (no ads, paywalled):
Twitter (mass-scale, unrestricted, third-party surveillance and advertising):
Tumblr (mass-scale, unrestricted, third-party surveillance and advertising):
https://mostlysignssomeportents.tumblr.com/tagged/pluralistic
"When life gives you SARS, you make sarsaparilla" -Joey "Accordion Guy" DeVilla
READ CAREFULLY: By reading this, you agree, on behalf of your employer, to release me from all obligations and waivers arising from any and all NON-NEGOTIATED agreements, licenses, terms-of-service, shrinkwrap, clickwrap, browsewrap, confidentiality, non-disclosure, non-compete and acceptable use policies ("BOGUS AGREEMENTS") that I have entered into with your employer, its partners, licensors, agents and assigns, in perpetuity, without prejudice to my ongoing rights and privileges. You further represent that you have the authority to release me from any BOGUS AGREEMENTS on behalf of your employer.
ISSN: 3066-764X
A starting point for the blog [Seth's Blog]
The challenge of the library is the card catalog. If you don’t know what you’re looking for, it’s hard to find much of anything.
The challenge of the web is the search box, for the same reason. It’s efficient once you’re on a mission, but it requires you to go first.
And the chat interface of Claude and ChatGPT is more of the same. Faced with infinite choice, what we really need is a guide.
By request then, ten places to start on this blog:
“Notes to myself” — 65 principles distilled from 10,000+ posts.
“The smallest viable audience” — This will reframe how you think about mass, about scale and about marketing.
“Seeking yoyu 余裕” — Perhaps we need more humanity and less more.
“Energy and systems complexity” — Systems thinking that connects beans to bureaucracies to solar panels.
“Failing in the trough” — A practical, visual framework anyone with customers can use immediately.
“The AI effort gap” — Six sentences that reframe the entire AI conversation.
“Enrollment” — The deep dive into how change actually happens — not through authority or money, but through people choosing the journey.
“Better than the cheap alternative” — What sort of work is worth doing? Particularly by you?
“The Strategy Questions” — 53 questions from “This Is Strategy.”
“This is number 10,000” — The meta-post.
It would be great if there were a similar service for your project, your work and your interactions with empty search boxes.
One approach: ask the AI what you
should be asking about. A good librarian is priceless.
When the Moon Hits Your Eye Out in Trade Paperback Today [Whatever]


Yes, that’s right, the USA Today and Indie Bestseller that was also one of Amazon’s 100 Best Books of 2025, is now out in convenient trade paperback form, with a new bonus chapter: An alternate Day One which I wrote but (previously) did not use. It’s good! And a bit different. And has a cat! Because cats are cool.
Anyway, get it four yourself and buy six more for your friends and family. Saja thanks you in advance for your contribution to his Kibble Fund. It’s available wherever you choose to buy your books, and is of course also still available in ebook and audio.
— JS
Selling Sexy Comics, An Hourly Comic by Jey Pawlik [Oh Joy Sex Toy]
AI-Generated Text and the Detection Arms Race [Schneier on Security]
In 2023, the science fiction literary magazine Clarkesworld stopped accepting new submissions because so many were generated by artificial intelligence. Near as the editors could tell, many submitters pasted the magazine’s detailed story guidelines into an AI and sent in the results. And they weren’t alone. Other fiction magazines have also reported a high number of AI-generated submissions.
This is only one example of a ubiquitous trend. A legacy system relied on the difficulty of writing and cognition to limit volume. Generative AI overwhelms the system because the humans on the receiving end can’t keep up.
This is happening everywhere. Newspapers are being inundated by AI-generated letters to the editor, as are academic journals. Lawmakers are inundated with AI-generated constituent comments. Courts around the world are flooded with AI-generated filings, particularly by people representing themselves. AI conferences are flooded with AI-generated research papers. Social media is flooded with AI posts. In music, open source software, education, investigative journalism and hiring, it’s the same story.
Like Clarkesworld’s initial response, some of these institutions shut down their submissions processes. Others have met the offensive of AI inputs with some defensive response, often involving a counteracting use of AI. Academic peer reviewers increasingly use AI to evaluate papers that may have been generated by AI. Social media platforms turn to AI moderators. Court systems use AI to triage and process litigation volumes supercharged by AI. Employers turn to AI tools to review candidate applications. Educators use AI not just to grade papers and administer exams, but as a feedback tool for students.
These are all arms races: rapid, adversarial iteration to apply a common technology to opposing purposes. Many of these arms races have clearly deleterious effects. Society suffers if the courts are clogged with frivolous, AI-manufactured cases. There is also harm if the established measures of academic performance – publications and citations – accrue to those researchers most willing to fraudulently submit AI-written letters and papers rather than to those whose ideas have the most impact. The fear is that, in the end, fraudulent behavior enabled by AI will undermine systems and institutions that society relies on.
Yet some of these AI arms races have surprising hidden upsides, and the hope is that at least some institutions will be able to change in ways that make them stronger.
Science seems likely to become stronger thanks to AI, yet it faces a problem when the AI makes mistakes. Consider the example of nonsensical, AI-generated phrasing filtering into scientific papers.
A scientist using an AI to assist in writing an academic paper can be a good thing, if used carefully and with disclosure. AI is increasingly a primary tool in scientific research: for reviewing literature, programming and for coding and analyzing data. And for many, it has become a crucial support for expression and scientific communication. Pre-AI, better-funded researchers could hire humans to help them write their academic papers. For many authors whose primary language is not English, hiring this kind of assistance has been an expensive necessity. AI provides it to everyone.
In fiction, fraudulently submitted AI-generated works cause harm, both to the human authors now subject to increased competition and to those readers who may feel defrauded after unknowingly reading the work of a machine. But some outlets may welcome AI-assisted submissions with appropriate disclosure and under particular guidelines, and leverage AI to evaluate them against criteria like originality, fit and quality.
Others may refuse AI-generated work, but this will come at a cost. It’s unlikely that any human editor or technology can sustain an ability to differentiate human from machine writing. Instead, outlets that wish to exclusively publish humans will need to limit submissions to a set of authors they trust to not use AI. If these policies are transparent, readers can pick the format they prefer and read happily from either or both types of outlets.
We also don’t see any problem if a job seeker uses AI to polish their resumes or write better cover letters: The wealthy and privileged have long had access to human assistance for those things. But it crosses the line when AIs are used to lie about identity and experience, or to cheat on job interviews.
Similarly, a democracy requires that its citizens be able to express their opinions to their representatives, or to each other through a medium like the newspaper. The rich and powerful have long been able to hire writers to turn their ideas into persuasive prose, and AIs providing that assistance to more people is a good thing, in our view. Here, AI mistakes and bias can be harmful. Citizens may be using AI for more than just a time-saving shortcut; it may be augmenting their knowledge and capabilities, generating statements about historical, legal or policy factors they can’t reasonably be expected to independently check.
What we don’t want is for lobbyists to use AIs in astroturf campaigns, writing multiple letters and passing them off as individual opinions. This, too, is an older problem that AIs are making worse.
What differentiates the positive from the negative here is not any inherent aspect of the technology, it’s the power dynamic. The same technology that reduces the effort required for a citizen to share their lived experience with their legislator also enables corporate interests to misrepresent the public at scale. The former is a power-equalizing application of AI that enhances participatory democracy; the latter is a power-concentrating application that threatens it.
In general, we believe writing and cognitive assistance, long available to the rich and powerful, should be available to everyone. The problem comes when AIs make fraud easier. Any response needs to balance embracing that newfound democratization of access with preventing fraud.
There’s no way to turn this technology off. Highly capable AIs are widely available and can run on a laptop. Ethical guidelines and clear professional boundaries can help – for those acting in good faith. But there won’t ever be a way to totally stop academic writers, job seekers or citizens from using these tools, either as legitimate assistance or to commit fraud. This means more comments, more letters, more applications, more submissions.
The problem is that whoever is on the receiving end of this AI-fueled deluge can’t deal with the increased volume. What can help is developing assistive AI tools that benefit institutions and society, while also limiting fraud. And that may mean embracing the use of AI assistance in these adversarial systems, even though the defensive AI will never achieve supremacy.
The science fiction community has been wrestling with AI since 2023. Clarkesworld eventually reopened submissions, claiming that it has an adequate way of separating human- and AI-written stories. No one knows how long, or how well, that will continue to work.
The arms race continues. There is no simple way to tell whether the potential benefits of AI will outweigh the harms, now or in the future. But as a society, we can influence the balance of harms it wreaks and opportunities it presents as we muddle our way through the changing technological landscape.
This essay was written with Nathan E. Sanders, and originally appeared in The Conversation.
EDITED TO ADD: This essay has been translated into Spanish.
Housekeeping Note, re: Emails and Big Ideas, 2/9/26 [Whatever]
Hey, I neglected email for a bit in order to finish my book(s), including Big Idea queries, but now that they’re both in, I’m going to going to catch up with everything in the next couple of days. If you have a Big Idea query into me and haven’t heard back from me by this Friday, go ahead and resend it. Thanks.
— JS
In the Time Before - no relation to The Land Before Time - it was very important to have a "Halo Killer." There were many attempts, wrought at a profundity of expense and labor. They would have been very surprised to learn, years after this conflict had passed into history, that the storied franchise and its laconic green action figure would die to suicide.
Drag Race Episode Six: It’s the State of Florida vs. Jane Don’t [The Stranger]
Drag Race Episode Six, the end of Rate-a-Queen. by Mike Kohfeld
This week, we wrapped up Season 18’s Rate-A-Queen talent show. Some queens showed that savvy strategy can outweigh a mid performance, but others *cough* Jane Don’t *cough* proved that reality TV shenanigans will never eclipse star quality. Let’s get into it.
The End of Glam
Ciara Myst, the lovable oddball from Indy, took center stage after being rated in the lowest position by her fellow queens last week. Her fate depended on the second round of Rate-A-Queen, as she would have to lip-sync against the lowest rated queen this week to save herself from elimination.
In the werkroom, Ciara, Vita, Darlene, Juicy, Nini, and Mia put their heads together to strategize for Rate-A-Queen before the second round of talent performances. Ciara thought she’d be able to out-perform Discord in a lip-sync battle, so she quietly asked her Team Glam sisters to rate Discord in the bottom regardless of how well Discord did in the talent show.
It didn’t take Juicy and Vita long to spill this tea to their buddy Discord, who wasn’t shaken by the challenge (though, we got a great cutaway of her pretending to be a Britney Spears superfan to out-psych Ciara). Ultimately, Discord’s punk rock performance was solid enough to keep her safe this week. Her glittering, bloody CEO runway look didn’t impress the judges, but its anticapitalist edge struck the right chord for me. Discord Mangione, anyone?
During a walkthrough, Michelle Visage called out Kenya for fumbling her lyrics during her lip-sync against Briar in Episode Four. “Drag queens’ number one job is to lip-sync, and to know their words,” Visage warned as she pointed a long red nail at Kenya. “Learn your lyrics.”
Kenya was shook, and sure enough, she missed several many more words while lip-syncing to her own song during her talent performance. However, Kenya’s alliance with the Miami girls paid off, and she was rated safe.
Myki Meeks of Orlando (aka Arya Stark who grows up to be BenDeLaCreme) learned that being everyone’s friend but nobody’s best friend is the silent killer during Rate-A-Queen. Her Bride of Frankenstein striptease number was a hit. We’ve seen burlesque many times on Drag Race, but bejeweled entrails? Gore-geous.
View this post on Instagram
Unfortunately, this is Rate-A-Queen, and Myki’s relationships were not strong enough to support her talent. She was rated last, falling into the bottom two alongside Ciara. RIP Glam Alliance, you really had no chance.
The Dion Dynasty
Athena “The Godmother” Dion protested against strategy-based play this week, claiming the rating should be based purely on performance. Either this was a ploy or she needs her memory checked, because she spent most of last week making arrangements for her drag family Juicy and Mia to receive top placements in Rate-A-Queen.
For her runway and performance, Athena leaned heavily into her Greek heritage. Her surreal evil-eye (mati) themed dress was a perfect blend of camp, glamour, and culture. As for the talent show, her Greek-themed variety act was solid but not show-stopping. The word “quaint” came to mind.
View this post on Instagram
But Rate-A-Queen is not about who has the best talent performance: it’s about leveraging relationships. Athena’s strategy of stacking votes in her favor by putting her Miami sisters on the judging panel during her performance was a brilliant move, and she was rated in the top two for Episode Six.
Jane Don’t vs. the (Allegedly) Illiterate Floridians
Jane Don’t may not have had a drag family to back her up in voting this week, but she didn’t need it.
The most effective drag artists are master historians, remixing references that transport the audience out of reality. On Drag Race, RuPaul has often said that drag queens need to be pop culture experts and rewards queens who know their shit, even when the references are relatively obscure. Seattle’s Jinkx Monsoon was a great example of this, introducing an entire generation to Edith “Little Edie” Bouvier Beale during Season 5’s Snatch Game.
By Episode Six, Jane has proven she has a Ph.D. in Gay Culture. She described her exquisitely feathered chartreuse runway piece as “Galliano for Dior, refracted into this very musketeer 17th-century French moment,” which is queer word salad for “a really fucking cool look.” Even Michelle Visage, who famously hates the color green, had nothing negative to say about Jane’s runway.
Jane knew that her cabaret act inspired by Bette Midler would immediately read for the judges, because this bitch does her homework. She was less confident that the other queens would understand the reference, especially since half of them are allegedly illiterate Floridians.
If the other queens didn’t pick up the Bette Midler, it didn’t matter. Jane’s act was a winning blend of risqué humor, saloon girl style, and loads of confidence. She was voted into the top alongside Athena during the Rate-A-Queen deliberations. On Drag Race, it really doesn’t get much better than lyrics like “No train of thought, but a nice caboose.”
“We’re lip-syncing a punk song and she’s dressed as Donald Duck”
At the end of Episode Six, Jane and Athena, our top two, faced off for the win to “Jerkin” by Australian punk band Amyl and the Sniffers (vocalist Amy Taylor was the guest judge). Jane figured she’d have an easy win. “We’re lip-syncing a punk song and she’s dressed as Donald Duck,” referring to Athena’s glitzy Greek granny-core talent look. However, Athena turned it out, cementing Dion supremacy for a second week in a row. Her win was well-deserved given how well she played the social game of Rate-A-Queen. (And still, Jane’s been in the top for every episode so far. The only thing keeping Jane from winning Season 18 at this point is a Rate-A-Queen finale.) The real winner of this lip-sync, though, was Nini Coco’s neon-Teletubbie-meets-infinity-labia runway look. Seeing her bobbing back and forth beyond Jane and Athena was sending me.
The aforementioned labia. MTV
As much as we love Discord and Kenya, they were saved by the Rate-A-Queen rules this week. A shocked Myki Meeks was declared the bottom queen, and she lip-synced against Ciara to Britney Spears’ “Toxic.”.
The lip-sync concluded, but before RuPaul could pass judgement, she turned to Michelle Visage and said quietly, “This song was Season 4. Jiggly did it.”
“Bless her,” Michelle replied.
(Quick herstory lesson: After competing on Drag Race and Drag Race All Stars, fan favorite Jiggly Caliente became a judge on Drag Race Philippines and also had featured roles on Broad City and Pose. She tragically passed away in 2025 due to complications from sepsis after an emergency surgery. I couldn’t help but think of Briar Blush, who had just been hospitalized for sepsis after filming Season 18.)
My reverie was broken by RuPaul announcing Myki as the winner of the lip-sync.This came as no surprise—the only reason why Myki was in the bottom this week was because of Rate-A-Queen shenanigans. Ciara Myst was asked to sashay away.
Next week, the queens are tasked with creating political ads (!) plus, the cast get the Rate-A-Queen receipts. It’ll be like the producers throwing a ham hock to a pack of starving wolves. Let the drama roll!
EFFecting Change: Get the Flock Out of Our City [Deeplinks]
Flock contracts have quietly spread to cities across the country. But Flock ALPR (Automated License Plate Readers) erode civil liberties from the moment they're installed. While officials claim these cameras keep neighborhoods safe, the evidence tells a different story. The data reveals how Flock has enabled surveillance of people seeking abortions, protesters exercising First Amendment rights, and communities targeted by discriminatory policing.
This is exactly why cities are saying no. From Austin to Cambridge to small towns across Texas, jurisdictions are rejecting Flock contracts altogether, proving that surveillance isn't inevitable—it's a choice.
Join EFF's Sarah Hamid and Andrew Crocker along with Reem Suleiman from Fight for the Future and Kate Bertash from Rural Privacy Coalition to explore what's happening as Flock contracts face growing resistance across the U.S. We'll break down the legal implications of the data these systems collect, examine campaigns that have successfully stopped Flock deployments, and discuss the real-world consequences for people's privacy and freedom. The conversation will be followed by a live Q&A.
This event will be live-captioned and recorded. EFF is committed to improving accessibility for our events. If you have any accessibility questions regarding the event, please contact events@eff.org.
EFF is dedicated to a harassment-free experience for everyone, and all participants are encouraged to view our full Event Expectations.
Want to make sure you don’t miss our next livestream? Here’s a link to sign up for updates about this series: eff.org/ECUpdates. If you have a friend or colleague that might be interested, please join the fight for your digital rights by forwarding this link: eff.org/EFFectingChange. Thank you for helping EFF spread the word about privacy and free expression online.
We hope you and your friends can join us live! If you can't make it, we’ll post the recording afterward on YouTube and the Internet Archive!
“Seattle has better Chinese food than New York." by Meg van Huygen
“Seattle has better Chinese food than New York, anyway,” Xian Zhang quips from the couch in her new office, overlooking Second Avenue. “Well, in New York, it’s mainly Cantonese food. But I find Chinese food from the north actually better here. I’m from the north, so I like the handmade dumplings and hand-pulled noodles, that kind of thing. Seattle does it better.”
Before she even landed, word was already on the street that the Seattle Symphony’s new music director is a massive foodie. Sure enough, it’s only a few minutes before she’s comparing our restaurants to those in her home of the last decade.
Zhang is still pulling double duty between Seattle and the New Jersey Symphony, where she’s been the resident music director since 2016. “My son, it’s his junior year,” she explains, “and it’s too late for him to change schools, so he’s finishing high school there. I don’t wanna mess up his life!” But since accepting a five-year contract in Seattle last year, she admits, she’s been feeling a little more at ease out here.
“I grew up in a climate just like this—cold, a little humid and windy,” Zhang says, motioning toward the window. “And we had lots of shellfish,” she grins, bringing it back to food. “That’s my thing—my favorite! So Seattle is perfect for me, actually.”
It’s mutual, babe. Scoring Zhang is a monumental win for Seattle, and not only for her enormous talent and fiery vivacity. Alongside having no music director at all following Thomas Dausgaard’s sudden email ragequit in 2020, the Seattle Symphony’s had 17 conductors in its 123 years, and they all looked more or less the same—white and presumed male—until Zhang. It brings a li’l tear to the eye of this former Cornish piano major, who could only find one female American conductor to look up to in the late ’90s (the legendary Marin Alsop). Down around Benaroya Hall, when you see all the colorful media paraphernalia heralding Zhang’s arrival—there are vinyl stickers glued to the actual sidewalk, reading XIAN!—it seems like overkill at first. But then you’re like: You know what? Let them cook. This is the Seattle Symphony’s Cinderella moment.
Even today, the game’s still heavily dominated by men in the United States, with women and nonbinary people making up just 29.4 percent of American symphony conductors. It’s much worse outside the US, with a 2023 study reporting that just 11.2 percent of conductors are women worldwide. As well, 66.9 percent of American symphony conductors are white. No figures are currently available on how many of the remaining 33.1 percent are female or non-male, but one can imagine it’s a slender slice. There’s Zhang and there’s Alsop, who’s the laureate director of the Baltimore Symphony, and the Atlanta Symphony has Nathalie Stutzmann at the wheel. But when it comes to symphonies in major American cities, these three women pretty much make up the whole scene.
“There also just aren’t that many of us conductors,” Zhang points out, “women or men. It’s a numbers problem. Because it’s a hard job! Not so many people can do it.”
She said a mouthful there, because to watch this woman conduct an orchestra is electric. Armed with her baton, this mini maestra seems 10 feet tall, commanding her musical battalion with real joy and absolute authority. Even from the nosebleed seats, you can feel the crackle in the air. Few people can do that job, indeed.
Xian Zhang (“sh-yen jahng”) was born in 1973 in Dandong, near the North Korean border, to a music teacher mom and a luthier dad. When Western instruments were scarce in Cultural Revolution-era China, her father built a piano for her from scratch. She began piano lessons at age 3 and was practicing eight hours a day by elementary school. At 11, she was sent to the Central Conservatory of Music in Beijing to study piano performance under Lingfen Wu, herself a pioneering female conductor.
Zhang was dropped into conducting somewhat against her will when, one day, Wu sent her 20-year-old student to sub at a rehearsal at the China National Opera. “I’d just finished learning The Marriage of Figaro from her—but I’d never conducted anything in my life! It was a four-and-a-half-hour production, with professional musicians. My teacher called in the day before and said, ‘Um, I don’t feel well, but I’m gonna send my student to conduct tomorrow. If she does a bad job at rehearsal, I will try to come in at intermission and take over.’
“The director of the opera was very mad at my teacher that morning,” Zhang laughs. “‘How can you do this to us? And send a little girl?’ I was very short, very tiny. I remember sitting on the bus with the other musicians going to the opera house, thinking, I’m gonna DIE today. I’m gonna mess this up and be so embarrassed, and I will die.” But she did it anyway, and when her teacher called at intermission to check in, she was told, “Well, she actually seems to be doing okay? She’s almost done with the second act.”
“And my teacher was like ‘Uh, okay, I still don’t feel good! Let her finish the show.’ The next day, she kept saying she was sick. So yeah, she gave me two shows with the China National Opera when I was 20. That was my first public conducting job.”
Zhang didn’t forget it, and today, she goes out of her way to pay it forward and support female orchestral musicians, along with those from other underrepresented groups. She points to a recent Benaroya performance of composer Michael Abels’s Delights and Dances performed by laureate winners of the Sphinx Competition, which is open to young Black and Latino string players in Detroit and endeavors to address systemic obstacles within their communities. “The quartet was all students who’d won a competition for young, less-privileged players. I really, really feel strongly about supporting this kind of program.”
Since leaving China in 1998 to pursue her doctorate in Cincinnati, Zhang’s led orchestras in Milan, Montréal, Amsterdam, Melbourne, Cardiff, Singapore, London, and dozens of US cities. As well as back home in Beijing—in addition to her current roles in Seattle and New Jersey, she’s also the principal guest conductor at the China National Opera this season. True to brand, only a month after her introductory gala at Benaroya Hall in September, she jetted off to Helsinki for the rest of 2025, where she’d already signed up to conduct Tosca before saying yes to Seattle.
Now that she’s picked the reins back up in Seattle, Zhang is super pumped for the production of Iris Unveiled (originally Iris dévoilée), playing February 12, 14, and 15. In a Peking opera-style concert suite that Zhang says is very special to her personally, Chinese-born French composer Qigang Chen mashes up Chinese stringed instruments like the pipa and erhu with a Western-style orchestra, as solo vocalists sing in both Western and Chinese operatic styles. The suite describes the story of Iris, the Greek goddess of the rainbow, employing texture and color to describe various facets of divine femininity: coyness, jealousy, voluptuousness, lust. As the central figure, soprano Meng Meng wears traditional Chinese makeup and a kuitou (头), an elaborate headdress loaded with pearls and tassels and pompoms.
The production’s timing is pinned to the Lunar New Year and the Seattle Symphony’s second annual Lunar New Year Gala. Benaroya Hall’s lobby will be decked out for the holiday, tickets include a multi-course authentic Chinese dinner, and there’ll be performances by select artists from Iris Unveiled’s cast. “I’m so excited, yes!” Zhang says. “The story is based on old Chinese poems, and there’s some really authentic Chinese art involved in the program. And I find the music just strikingly beautiful.” The show, she adds, will be a great way for her to begin engaging with the Asian community here in Seattle, as a fresh start for the new year.
Zhang isn’t new to Seattle, for what it’s worth, having first guest-conducted the Seattle Symphony in 2008. “I’ve always liked Seattle! To me, Seattle has come up as one of the most vibrant cities in America nowadays. I like the people. They’re different from the East Coast—slightly laid-back, and they’re not as edgy. And also, I like the diversity of the community. I feel comfortable here, you know, as an Asian person.
“And I like the food here too!” she says, splitting off to enthusiastically recommend a hot pot restaurant off Aurora. “It’s like a shabu-shabu place. I know the name in Chinese but not in English!” She goes on to rave about the meat combo, as passionately as she spoke about Iris Unveiled. After playing 20 Questions, we realize it’s No.9 Alley Hot Pot in Bitter Lake.
Despite our rep as one of the nation’s most progressive cities, Seattle’s classical music scene has been kind of a musty old ghost ship over the last few years, with nobody at the helm. So it’s sincerely thrilling to see the fiery, sizzling energy that Zhang brings on board. Right out of the gate, she’s going out of her way to platform women, POC, and other underrepresented musicians, along with youth orchestras, local composers, and hell, the restaurant scene, too. Seattle’s classical community has needed this delicious zap in the butt since 1903. No amount of vinyl sidewalk stickers with her name on them is enough.
Get a Friday the 13th Tattoo at One of These Seattle Shops [The Stranger]
Friday the 13th occurs three times in 2026—the most it’s possible to have in a calendar year—which means more flash tattoos and more fun. This month, the inky tradition coincides with Valentine’s Day weekend, prompting fun designs that are both creepy and cute. Whether you’re looking to get your first tatt or you’re running out of skin space, we’ve compiled a list where you can get inked as part of the occasion. Don't forget your photo ID!
Blood Orange Tattoo
It’s citrus season, and this shop has the juice. With
dozens of
adorable designs, Blood Orange Tattoo will run a flash event on
Sunday and donate part of the proceeds to Northwest Immigrant
Rights Project. Get some ink and spread the love,
y’all.
Fremont
Green Tulip Tattoo
Grab an appointment at this tattoo collective on Valentine’s
Day to select from one of their four talented artists’
flash
sheets, which include a number of stick and poke designs.
They’ll be taking clients from 11 am to
“whenever,” and offering up treats, merch, and
“LOVEly vibes.”
Uptown
Stranger Suggests: Wikipedia Rabbit Holes, a Masked Chillwave Band, and a Retelling of Cupid and Psyche [The Stranger]
(LITERATURE) If you’ve ever found yourself shedding a tear at a comic strip or recoiling with existential dread from a political cartoon, this one’s for you. New Yorker contributors Asher Perlman and Tom Toro are coming to Elliott Bay Book Company to discuss their new cartoon collections, Hi, It’s Me Again and And to Think We Started As a Book Club…. The former from Perlman (also a writer for The Late Show with Stephen Colbert) pairs sharp, surreal humor with relatable existential spirals, while Toro’s new release skews wry and whimsical. With both artists exploring everything from anxiety to mortality to modern bureaucracy, expect a dynamic conversation about why life’s strangest moments often make the best punchlines. (Elliott Bay Book Company, 7 pm, free with RSVP, all ages) LANGSTON THOMAS
TUESDAY 2/10Olivia Barton: For Myself and For You Tour
Cry along to Olivia Barton's cathartic music at
Barboza on Tuesday, February 10. BLAIRE BEAMER
(MUSIC) It's hard to ignore the similarities between Orlando-born indie folk artist Olivia Barton and folk-rock darling Phoebe Bridgers. Barton's recent track "Dad Song" brings to mind Bridgers' "Kyoto"—both songs allude to complicated relationships with their fathers as Barton laments "God, I'm such a hypocrite, writing this instead of picking up the phone" and Bridgers sings "You called me from a payphone / They still got payphones / It cost a dollar a minute / To tell me you're getting sober." Barton also explores queer love, heartbreak, and anxiety on her third full-length For Myself and For You, which was co-produced by Pinegrove’s Sam Skinner and highlights her songwriting talent and ability to balance delicacy with an emotional punch. Don't miss this show from the singer-songwriter who's toured with Lizzy McAlpine and Madi Diaz; this time, she's headlining with support from confessional Utah artist Rachael Jenkins. (Barboza, 7 pm, all ages) SHANNON LUBETICH
WEDNESDAY 2/11(MUSIC) They’re an anonymous, experimental indie-pop band who rock out on chillwave in hoods. What more do you need? I’m all about bands wearing disguises, and with the Residents out of commission for the moment (sigh), a quartet that tinks and reverbs and chirps along to videos of themselves (or somebody in hoods) lifting weights, shooting guns, making a mess with Chinese takeout, and turning themselves into scarecrows, just might fill dat gap. That was the gist of their video for the “Set It on Fire” single from their 2021 album LUNO, at least. What they’ll do in concert, I have no idea whatsoever, but it’s got to be conceptual. (Neumos, 7 pm, 21+) ANDREW HAMLIN
THURSDAY 2/12
Dive deep into the weirdest corners of Wikipedia with comedian and
journalist Annie Rauwerda at the Neptune on Thursday, February 12.
IAN SHIFF
(COMEDY) Launched in 2001 as an end-all, be-all online encyclopedia, Wikipedia has fully reached cultural icon status in today’s world—not necessarily for its reliability (s/o misinformation and donation pop-ups), but for the absolutely ridiculous humans who write, edit, and speedrun it ad nauseam. Wildly popular (1.6 million followers and counting) account Depths of Wikipedia bears witness to this chaos, spotlighting the site’s strangest corners. Comedian and journalist Annie Rauwerda, who helms the site, has turned the most absurd Wikipedia gems into a live show that’s part comedy, part podcast, part beautifully deranged PowerPoint presentation, and she’ll kick off the latest tour in Seattle! I have no idea what to expect, but that’s kind of the point. (Neptune Theatre, 7 pm, all ages) LANGSTON THOMAS
FRIDAY 2/13
See Taproot Theatre's production of C.S. Lewis's
Greek mythology retelling Till We Have Faces, running
Tuesday through Saturday until February 21. GIAO NGUYEN
(THEATRE) In one of his letters, C.S. Lewis wrote that he believed that his final novel, Till We Have Faces, was “far and away” his best, “but it has, with critics and the public, been my greatest failure.” So when I saw that Taproot Theatre was premiering an adaptation of the book, I figured it was time to read it. I’m happy to report the critics were wrong. The book is a reinterpretation of the myth of Cupid and Psyche, written from the perspective of Psyche’s older sister. She’s filing a complaint to the gods (relatable). Taproot’s staged production is the first of its kind—a passion project of the theater’s producing artistic director Karen Lund—and it’s only running through this month. (Taproot Theatre, 7:30–10 pm, 16+) HANNAH MURPHY WINTER
SATURDAY 2/14Valentine's Day Show: Glenn Hendrick with John Bellows, babyboy, and Plastic Wildflowers
View this post on Instagram
(MUSIC) Disclaimer: My best friend Kirsten is helping organize this event and will be performing, but even if they weren't, I'd still recommend it—it's a night of excellent artists at a cozy, intimate venue, all in support of some truly essential causes. The lineup includes the lush, groovy quintet babyboy, the nostalgic yet lyrically frank Cleveland group Plastic Wildflowers, and the San Juan Island artist and musician Glenn Hendrick, who weaves "heartbreaking lyrics with stripped down hooks to reel you into the apocalypse" and will perform alongside singer-songwriter John Bellows. Merch sales and a raffle will raise funds for Gaza and for supporting Seattle families with legal fees for immigration court. What better way to spend your Valentine's Day than honoring art, love, and community in all of its myriad forms? (The Rabbit Box Theatre, 8 pm, all ages) JULIANNE BELL
SUNDAY 2/15(MUSIC) Cécile McLorin Salvant has the most exciting voice in contemporary jazz. It’s not just her pitch-perfect voice, which reaches the heights of Edith Piaf, Ella Fitzgerald, Eartha Kitt, and Kate Bush, but the inventiveness with which she flexes her vocals. On her most recent album, Oh Snap, the three-time Grammy Award winner and MacArthur Fellow croons through a dozen short, intimate original songs (plus an a cappella cover of the Commodores’ “Brick House”) that she never intended to see the light of day. Setting out on a personal creative quest to place spontaneity and joy at the heart of her writing process, Salvant tinkered with home recording programs to craft personal songs inspired by the music that soundtracked her childhood in 1990s Miami, from grunge and pop boy bands to classical and folk music. The result of the album is a delightfully chaotic audio journal that will please fans of traditional jazz as well as genre rule-breakers like Erykah Badu and Solange. (Jazz Alley, 7:30 pm, all ages) AUDREY VANN
Win tickets to rad upcoming events!*
Charley Crockett
February 19 or February
20
5th Avenue Theatre
ENTER NOW
Contest ends February 16 at 10am
*Entering PRIZE FIGHT contests by submitting your email address signs you up to receive the Stranger Suggests newsletter. You can unsubscribe at any time.
Hello, There. Again. [Looking For Group]
Don’t mind me, totally not up to something big that
I’ll be sharing here shortly. For right now, I did want
to mention a few things we’re working on for the website, as
we work to get it back into
Read More
The post Hello, There. Again. appeared first on Looking For Group.
The Internet Still Works: Yelp Protects Consumer Reviews [Deeplinks]
Section 230 helps make it possible for online communities to host user speech: from restaurant reviews, to fan fiction, to collaborative encyclopedias. But recent debates about the law often overlook how it works in practice. To mark its 30th anniversary, EFF is interviewing leaders of online platforms about how they handle complaints, moderate content, and protect their users’ ability to speak and share information.
Yelp hosts millions of reviews written by internet users about local businesses. Most reviews are positive, but over the years, some businesses have tried to pressure Yelp to remove negative reviews, including through legal threats. Since its founding more than two decades ago, Yelp has fought major legal battles to defend reviewers’ rights and preserve the legal protections that allow consumers to share honest feedback online.
Aaron Schur is General Counsel at Yelp. He joined the company in 2010 as one of its first lawyers and has led its litigation strategy for more than a decade, helping secure court decisions that strengthened legal protections for consumer speech. He was interviewed by Joe Mullin, a policy analyst on EFF's Activism Team.
Joe Mullin: How would you describe Section 230 to a regular Yelp user who doesn’t know about the law?
Aaron Schur: I'd say it is a simple rule that, generally speaking, when content is posted online, any liability for that content is with the person that created it, not the platform that is displaying it. That allows Yelp to show your review and keep it up if a business complains about it. It also means that we can develop ways to highlight the reviews we think are most helpful and reliable, and mitigate fake reviews in a way, without creating liability for Yelp, because we're allowed to host third party content.
The political debate around Section 230 often centers around the behavior of companies, especially large companies. But we rarely hear about users, even though the law also applies to users. What is the user story that is getting lost?
Section 230 at heart protects users. It enables a diversity of platforms and content moderation practices—whether it's reviews on Yelp, videos on another platform, whatever it may be.
Without Section 230, platforms would face heavy pressure to remove consumer speech when we’re threatened with legal action—and that harms users, directly. Their content gets removed. It also harms the greater number of users who would access that content.
The focus on the biggest tech companies, I think, is understandable but misplaced when it comes to Section 230. We have tools that exist to go after dominant companies, both at the state and the federal level, and Congress could certainly consider competition-based laws—and has, over the last several years.
Tell me about the editorial decisions that Yelp makes regarding the highlighting of reviews, and the weeding out of reviews that might be fake.
Yelp is a platform where people share their experiences with local businesses, government agencies, and other entities. People come to Yelp, by the millions, to learn about these places.
With traffic like that come incentives for bad actors to game the system. Some unscrupulous businesses try to create fake reviews, or compensate people to write reviews, or ask family and friends to write reviews. Those reviews will be biased in a way that won’t be transparent.
Yelp developed an automated system to highlight reviews we find most trustworthy and helpful. Other reviews may be placed in a “not recommended” section where they don’t affect a business’s overall rating, but they’re still visible. That helps us maintain a level playing field and keep user trust.
Tell me about what your process around complaints around user reviews look like.
We have a reporting function for reviews. Those reports get looked at by an actual human, who evaluates the review and looks at data about it to decide whether it violates our guidelines.
We don't remove a review just because someone says it's “wrong,” because we can't litigate the facts in your review. If someone says “my pizza arrived cold,” and the restaurant says, no, the pizza was warm—Yelp is not in a position to adjudicate that dispute.
That's where Section 230 comes in. It says Yelp
doesn’t have to [decide who’s right].
What other types of moderation tools have you
built?
Any business, free of charge, can respond to a review, and that response appears directly below it. They can also message users privately. We know when businesses do this, it’s viewed positively by users.
We also have a consumer alert program, where members of the public can report businesses that may be compensating people for positive reviews—offering things like free desserts or discounted rent. In those cases, we can place an alert on the business’s page and link to the evidence we received. We also do this when businesses make certain types of legal threats against users.
It’s about transparency. If a business’s rating is inflated, because that business is threatening reviewers who rate less than five stars with a lawsuit, consumers have a right to know what’s happening.
How are international complaints, where Section 230 doesn’t come into play, different?
We have had a lot of matters in Europe, in particular in Germany. It’s a different system there—it’s notice-and-takedown. They have a line of cases that require review sites to basically provide proof that the person was a customer of the business.
If a review was challenged, we would sometimes ask the user for documentation, like an invoice, which we would redact before providing it. Often, they would do that, in order to defend their own speech online. Which was surprising to me! But they wouldn’t always—which shows the benefit of Section 230. In the U.S., you don’t have this back-and-forth that a business can leverage to get content taken down.
And invariably, the reviewer was a customer. The business was just using the system to try to take down speech.
Yelp has been part of some of the most important legal cases around Section 230, and some of those didn’t exist when we spoke in 2012. What happened in the Hassel v. Bird case, and why was that important for online reviewers?
Hassel v. Bird was a case where a law firm got a default judgment against an alleged reviewer, and the court ordered Yelp to remove the review—even though Yelp had not been a party to the case.
We refused, because the order violated Section 230, due process, and Yelp’s First Amendment rights as a publisher. But the trial court and the appeal court both ruled against us, allowing a side-stepping of Section 230.
The California Supreme Court ultimately reversed those rulings, and recognized that plaintiffs cannot accomplish indirectly [by suing a user and then ordering a platform to remove content] what they could not accomplish directly by suing the platform itself.
We spoke to you in 2012, and the landscape has really changed. Section 230 is really under attack in a way that it wasn’t back then. From your vantage point at Yelp, what feels different about this moment?
The biggest tech companies got even bigger, and even more powerful. That has made people distrustful and angry—rightfully so, in many cases.
When you read about the attacks on 230, it’s really
politicians calling out Big Tech. But what is never mentioned is
little tech, or “middle tech,” which is how Yelp bills
itself. If 230 is weakened or repealed, it’s really the
biggest companies, the Googles of the world, that will be able to
weather it better than smaller companies like Yelp. They have more
financial resources. It won’t actually accomplish what the
legislators are setting out to accomplish. It will have unintended
consequences across the board. Not just for Yelp, but for smaller
platforms.
This interview was edited for length and
clarity.
The Internet Still Works: Wikipedia Defends Its Editors [Deeplinks]
Section 230 helps make it possible for online communities to host user speech: from restaurant reviews, to fan fiction, to collaborative encyclopedias. But recent debates about the law often overlook how it works in practice. To mark its 30th anniversary, EFF is interviewing leaders of online platforms about how they handle complaints, moderate content, and protect their users’ ability to speak and share information.
A decade ago, Wikimedia Foundation, the nonprofit that operates Wikipedia, received 304 requests to alter or remove content over a two-year period, not including copyright complaints. In 2024 alone, it received 664 such takedown requests. Only four were granted. As complaints over user speech have grown, Wikimedia has expanded its legal team to defend the volunteer editors who write and maintain the encyclopedia.
Jacob Rogers is Associate General Counsel at the Wikimedia Foundation. He leads the team that deals with legal complaints against Wikimedia content and its editors. Rogers also works to preserve the legal protections, including Section 230, that make a community-governed encyclopedia possible.
Joe Mullin: What kind of content do you think would be most in danger if Section 230 was weakened?
Jacob Rogers: When you're writing about a living person, if you get it wrong and it hurts their reputation, they will have a legal claim. So that is always a concentrated area of risk. It’s good to be careful, but I think if there was a looser liability regime, people could get to be too careful—so careful they couldn’t write important public information.
Current events and political history would also be in danger. Writing about images of Muhammad has been a flashpoint in different countries, because depictions are religiously sensitive and controversial in some contexts. There are different approaches to this in different languages. You might not think that writing about the history of art in your country 500 years ago would get you into trouble—but it could, if you’re in a particular country, and it’s a flash point.
Writing about history and culture matters to people. And it can matter to governments, to religions, to movements, in a way that can cause people problems. That’s part of why protecting pseudonymity and their ability to work on these topics is so important.
If you had to describe to a Wikipedia user what Section 230 does, how would you explain it to them?
If there was nothing—no legal protection at all—I think we would not be able to run the website. There would be too many legal claims, and the potential damages of those claims could bankrupt the company.
Section 230 protects the Wikimedia Foundation, and it allows us to defer to community editorial processes. We can let the user community make those editorial decisions, and figure things out as a group—like how to write biographies of living persons, and what sources are reliable. Wikipedia wouldn’t work if it had centralized decision making.
What does a typical complaint look like, and how does the complaint process look?
In some cases, someone is accused of a serious crime and there’s a debate about the sources. People accused of certain types of wrongdoing, or scams. There are debates about peoples’ politics, where someone is accused of being “far-right” or “far-left.”
The first step is community dispute resolution. On the top page of every article on Wikipedia there’s a button at the top that translates to “talk.” If you click it, that gives you space to discuss how to write the article. When editors get into a fight about what to write, they should stop and discuss it with each other first.
If page editors can’t resolve a dispute, third-party editors can come in, or ask for a broader discussion. If that doesn’t work, or there’s harassment, we have Wikipedia volunteer administrators, elected by their communities, who can intervene. They can ban people temporarily, to cool off. When necessary, they can ban users permanently. In serious cases, arbitration committees make final decisions.
And these community dispute processes we’ve discussed are run by volunteers, no Wikimedia Foundation employees are involved? Where does Section 230 come into play?
That’s right. Section 230 helps us, because it lets disputes go through that community process. Sometimes someone’s edits get reversed, and they write an angry letter to the legal department. If we were liable for that, we would have the risk of expensive litigation every time someone got mad. Even if their claim is baseless, it’s hard to make a single filing in a U.S. court for less than $20,000. There’s a real “death by a thousand cuts” problem, if enough people filed litigation.
Section 230 protects us from that, and allows for quick dismissal of invalid claims.
When we're in the United States, then that's really the end of the matter. There’s no way to bypass the community with a lawsuit.
How does dealing with those complaints work in the U.S.? And how is it different abroad?
In the US, we have Section 230. We’re able to say, go through the community process, and try to be persuasive. We’ll make changes, if you make a good persuasive argument! But the Foundation isn’t going to come in and change it because you made a legal complaint.
But in the EU, they don’t have Section 230 protections. Under the Digital Services Act, once someone claims your website hosts something illegal, they can go to court and get an injunction ordering us to take the content down. If we don’t want to follow that order, we have to defend the case in court.
In one German case, the court essentially said, "Wikipedians didn’t do good enough journalism.” The court said the article’s sources aren’t strong enough. The editors used industry trade publications, and the court said they should have used something like German state media, or top newspapers in the country, not a “niche” publication. We disagreed with that.
What’s the cost of having to go to court regularly to defend user speech?
Because the Foundation is a mission-driven nonprofit, we can take on these defenses in a way that’s not always financially sensible, but is mission sensible. If you were focused on profit, you would grant a takedown. The cost of a takedown is maybe one hour of a staff member’s time.
We can selectively take on cases to benefit the free knowledge mission, without bankrupting the company. To do litigation in the EU costs something on the order of $30,000 for one hearing, to a few hundred thousand dollars for a drawn-out case.
I don’t know what would happen if we had to do that in the United States. There would be a lot of uncertainty. One big unknown is—how many people are waiting in the wings for a better opportunity to use the legal system to force changes on Wikipedia?
What does the community editing process get right that courts can get wrong?
Sources. Wikipedia editors might cite a blog because they know the quality of its research. They know what's going into writing that.
It can be easy sometimes for a court to look at something like that and say, well, this is just a blog, and it’s not backed by a university or institution, so we’re not going to rely on it. But that's actually probably a worse result. The editors who are making that consideration are often getting a more accurate picture of reality.
Policymakers who want to limit or eliminate Section 230 often say their goal is to get harmful content off the internet, and fast. What do you think gets missed in the conversation about removing harmful content?
One is: harmful to whom? Every time people talk about “super fast tech solutions,” I think they leave out academic and educational discussions. Everyone talks about how there’s a terrorism video, and it should come down. But there’s also news and academic commentary about that terrorism video.
There are very few shared universal standards of harm around the world. Everyone in the world agrees, roughly speaking, on child protection, and child abuse images. But there’s wild disagreement about almost every other topic.
If you do take down something to comply with the UK law, it’s global. And you’ll be taking away the rights of someone in the US or Australia or Canada to see that content.
This interview was edited for length and clarity. EFF interviewed Wikimedia attorney Michelle Paulson about Section 230 in 2012.
RIP Dave Farber, EFF Board Member and Friend [Deeplinks]
We are sad to report the passing of longtime EFF Board member, Dave Farber. Dave was 91 and lived in Tokyo from age 83, where he was the Distinguished Professor at Keio University and Co-Director of the Keio Cyber Civilization Research Center (CCRC). Known as the Grandfather of the Internet, Dave made countless contributions to the internet, both directly and through his support for generations of students.
Dave was the longest-serving EFF Board member, having joined in the early 1990s, before the creation of the World Wide Web or the widespread adoption of the internet. Throughout the growth of the internet and the corresponding growth of EFF, Dave remained a consistent, thoughtful, and steady presence on our Board. Dave always gave us credibility as well as ballast. He seemed to know and be respected by everyone who had helped build the internet, having worked with or mentored too many of them to count. He also had an encyclopedic knowledge of the internet's technical history.

From the beginning, Dave saw both the promise and the danger to human rights that would come with the spread of the internet around the world. He committed to helping make sure that the rights and liberties of users and developers, especially the open source community, were protected. He never wavered in that commitment. Ever the teacher, Dave was also a clear explainer of internet technologies and basically unflappable.
Dave also managed the Interesting People email list, which provided news and connection for so many internet pioneers and served as model for how people from disparate corners of the world could engage in a rolling conversation about all things digital. His role as the Chief Technologist at the U.S. Federal Communications Commission from 2000 to 2001 gave him a strong perspective on the ways that government could help or hinder civil liberties in the digital world.
We will miss his calm, thoughtful voice, both inside EFF and out in the world. May his memory be a blessing.
Did You Get a Stranger Valentine? [The Stranger]
All is full of love. by Megan Seling
Illustrations by April Finfrock
If you need proof that there is still love in the world, look no further than our February issue. It's packed with hundreds and hundreds of reader-submitted love notes, all gushing with sweet sentiments and declarations of admiration.
There's a Valentine for Pookie Mamacita, Kitty, and Goose. There are people celebrating love landmarks like anniversaries, moving in together, and having a baby. I think there's even a marriage proposal?
Read through hundreds of reader-submitted Valentines here. Or, grab an issue at one of our hundreds of distro locations to find it in print!
♥ COSMO’S MOON
Aimee, When I met you everything started to make sense. Let’s continue doing crosswords at the bar, kiss in photobooths, and have fun together. Rheese
♥ CUTEST GOOSE
Steve with the long hair. Cutest skateboarder out there. Sweet goose. I found you.
♥ YOU ARE MY SUNSHINE!
I love you, Daniel! I’ll wash your back and you wash mine... Let’s keep taking care of each other. Life is hard but loving you is easy.
♥ CW LOVES CW
This year will be 20yrs we’ve spent together. I cannot wait for a tree filled, moss in our toes, playing in our forest in Forks for 20 or 40 more. <3
♥ WEENER STUFF
Oh handsome ween, I love you to bikini bottom and back. Love Jean <3
♥ FOR MY SUNFLOWER
L, During this season you’re sole reason I don’t mind the gray so I wanted to say: Happy Valentines, Love the sun is waiting above. -B
♥ IT’S OFFICIALLY LOVE
We officially did it!!! We are each others till the cold hand of death decides to take us. I will always LOVE YOU. -To the most caring woman I know
♥ MY LOVING EVIL EX
Dear Grady, Roses are red, we swore we were done, then New Year’s Eve slid into my DMs. Maybe 2026 is the sequel we didn’t plan but kinda want?
♥ TWO FROGS IN LOVE
Here’s to another frog filled year of love and joy. I’m looking forward to our new froggy abode <3 please let me paint the walls yellow
Get the MH Stories 3 Demo! [Penny Arcade]
Capcom just released a demo for Monster Hunter Stories 3: Twisted Reflection and I love it. The demo seems to have come out for pretty much everything but I grabbed it for the PS5 Pro and it’s gorgeous. Plenty of people love the Monster Hunter series but I feel like the “Stories” side games get overlooked. That sort of makes sense as the Stories games are very different. These are turn-based RPG’s with an anime art style and a focus on younger characters with monster collecting/ battling. Think of them like Pokemon + Monster Hunter and it’s just as cool as it sounds.
How to Date Like an Asian [The Stranger]
Let me show you how to go on a date like an Asian person. by Michael Wong
After a decade of media dominance, the world finally must admit: Asians got swag. And somehow we are still facing an Asian birth-rate crisis (to the specific chagrin of my mother). So given the circumstances, and with Valentine’s Day on the way, let me show you how to go on a date like an Asian person, in Seattle. Let me know how it goes!
Pregame at Costco
Getting your date kicked
off by flexing membership at an exclusive club is never a bad idea.
And if you don’t know, Asian people feel the same way about
Costco that white people feel about Trader Joe’s and Hispanic
moms feel about Ross. It’s our mini Disneyland. It delights
us.
Take a stroll and reacclimate to being around people after a long week working from home. Costco also gives you a chance to flex your financial prowess early by starting things off with a $1.50 hotdog combo, aka the Kirkland Signature aphrodisiac. This move will also save you both money on future eating opportunities—big-brain moment.
Find Gems at Uwajimaya and Kinokuniya
Bookstore
Imagine if Barnes and Noble were an
otaku, in a good way. That’s Kinokuniya, the
bookstore at Uwajimaya in the CID. You’ll have a blast
walking between the shelves, pointing at things you both like. This
is also a great way to determine if your date can read.
The major play alert is the magazine section. The racks are teeming with more special interests than a community college catalog, like: POPEYE (for Japanese “city boy” fashion), Brutus (for culture and home inspo), or the Japan Railfan Magazine (for train lovers, plainly). Japanese magazines are a different breed, and while you probably can’t read them, you’ll still find a lot of inspiration and delight inside the pages. Browsing here is a concise way to learn more about your date’s interests, and for them to learn more about you, too. Look behind the counter for magazines that come with cool niche-interest gifts, like Sanrio or even Bape accessories.
Before heading out, pick out a couple snacks with your date at Uwajimaya, perhaps from the deli. Try a Mogu Mogu bottled drink if you haven’t yet—nata jellies (those translucent, chewy cubes made from fermented coconut water) are like a fidget spinner for your mouth.
Picnic in the CID Hing Hay Park
The next
move is to head up the block to Hing Hay Park. It’s a
tucked-away pocket of the CID with lots of seating, ornate pagodas,
and plenty of characters. It’s the ideal home base to spread
out your treasures, share some snacks and stories, and appreciate
the energy of the neighborhood together.
Plus, if you’re feeling recently inspired by Marty Supreme, you could play each other at one of the public ping-pong tables, or embarrass yourself by playing against one of the Chinese grinders ready for a new victim.
Browse the CID Shops
Let the CID trinket
observation commence. Check out Trichome, a longtime alt hot spot
and gift shop for the indie streetwear kids and the
psychedelic-interested among us, and not totally in the
Spencer’s Gifts sort of way. Ask about the Lexco cases and
the refrigerator behind the counter.
Other nearby stores you won’t want to miss include Shishido Zakka-Ya, a shop full of kawaii wares made by local Seattle AANHPI artists, Mam’s Books for the best selection of Asian authors and warm vibes, and Pink Gorilla, where your childhood video game nostalgia comes to life in vibrant tactile glory.
Walk the Jose Rizal Bridge
One of
Seattle’s best viewpoints is the bridge that carries 12th
Avenue South over the freeway. When it’s time to wrap up in
the CID, take a short drive up to Jose Rizal Bridge. Park on the
Beacon Hill side, near the Tower of Terror–looking building,
then walk the bridge back towards the CID, enjoying the view
together.
Not only is it a great place to snap pics of one another, catch a sunset, and appreciate the city, it’s also a great opportunity to flex your knowledge about Filipino explorer Jose Rizal, which I expect you to brush up on before this leg.
Try on Fits at Break Away Vintage on Pike
In the big 2026, we are saving money on clothes by shopping
secondhand. No better place in Seattle to take in-store fit pics
than at Break Away Vintage Market in Capitol Hill (formerly Late
Night Vintage Market).
This spot, IMHO, is holding down the neighborhood, run by a group of fellas who in kind remind me that Seattle still has flavor. It’s laid out similar to the Winchester Mystery House, with hallways and stairs that lead you to unexpected places. Pick through racks and find items your date would find amusing, plus trying on the wildest things for a mini fashion show is never a miss.
Small Bites at Tamari Bar
By now it’s
time for a proper meal. In this area—right down the street
from Break Away—you have to go to Tamari Bar.
This spot feels casual by design, but the necessity of reservations signals the quality of the meal you’re about to enjoy. I also highly rate their inventiveness, and I’m sure your date will, too. Throw a dart at the menu and you will be thrilled, but don’t miss the famous “206 curry” in any iteration, the mazemen with Parmigiano Reggiano, or the bara-chirashi bowl.
Sip Highballs at Shibuya HiFi
To cap off
this date, I suggest one of the coolest places in the city. Shibuya
HiFi in Ballard is a vinyl bar and lounge inspired by Tokyo’s
legendary jazz kissa (listening cafes). You initially enter through
the “Living Room”—a swank, intimate space covered
floor-to-ceiling with cedar planks and cozy furniture. Enjoy a
highball at the bar, or perhaps a Pink Rabbits (made with Japanese
Haku vodka and lychee).
When you’re reset, head back to the reservations-only HiFi Room, which feels like the living room of the world’s biggest audiophile. You’ll have to remove your shoes and leave your drink behind before entering and settling into the plush sofas or vintage Benaroya Hall seats.
Get enveloped in the album (that you’ll listen to start to finish), and if you get carried away by the ambience and realization that life doesn’t get better than this, my suggestion is to look over at your date, smile, and just let it happen.
On Its 30th Birthday, Section 230 Remains The Lynchpin For Users’ Speech [Deeplinks]
For thirty years, internet users have benefited from a key federal law that allows everyone to express themselves, find community, organize politically, and participate in society. Section 230, which protects internet users’ speech by protecting the online intermediaries we rely on, is the legal support that sustains the internet as we know it.
Yet as Section 230 turns 30 this week, there are bipartisan proposals in Congress to either repeal or sunset the law. These proposals seize upon legitimate concerns with the harmful and anti-competitive practices of the largest tech companies, but then misdirect that anger toward Section 230.
But rolling back or eliminating Section 230 will not stop invasive corporate surveillance that harms all internet users. Killing Section 230 won’t end to the dominance of the current handful of large tech companies—it would cement their monopoly power.
The current proposals also ignore a crucial question: what legal standard should replace Section 230? The bills provide no answer, refusing to grapple with the tradeoffs inherent in making online intermediaries liable for users’ speech.
This glaring omission shows what these proposals really are: grievances masquerading as legislation, not serious policy. Especially when the speech problems with alternatives to Section 230’s immunity are readily apparent, both in the U.S. and around the world. Experience shows that those systems result in more censorship of internet users’ lawful speech.
Let’s be clear: EFF defends Section 230 because it is the best available system to protect users’ speech online. By immunizing intermediaries for their users’ speech, Section 230 benefits users. Services can distribute our speech without filters, pre-clearance, or the threat of dubious takedown requests. Section 230 also directly protects internet users when they distribute other people’s speech online, such as when they reshare another users’ post or host a comment section on their blog.
It was the danger of losing the internet as a forum for diverse political discourse and culture that led to the law in 1996. Congress created Section 230’s limited civil immunity because it recognized that promoting more user speech outweighed potential harms. Congress decided that when harmful speech occurs, it’s the speaker that should be held responsible—not the service that hosts the speech. The law also protects social platforms when they remove posts that are obscene or violate the services’ own standards. And Section 230 has limits: it does not immunize services if they violate federal criminal laws.
With so much debate around the downsides of Section 230, it’s worth considering: What are some of the alternatives to immunity, and how would they shape the internet?
The least protective legal regime for online speech would be strict liability. Here, intermediaries always would be liable for their users’ speech—regardless of whether they contributed to the harm, or even knew about the harmful speech. It would likely end the widespread availability and openness of social media and web hosting services we’re used to. Instead, services would not let users speak without vetting the content first, via upload filters or other means. Small intermediaries with niche communities may simply disappear under the weight of such heavy liability.
Another alternative: Imposing legal duties on intermediaries, such as requiring that they act “reasonably” to limit harmful user content. This would likely result in platforms monitoring users’ speech before distributing it, and being extremely cautious about what they allow users to say. That inevitably would lead to the removal of lawful speech—probably on a large scale. Intermediaries would not be willing to defend their users’ speech in court, even it is entirely lawful. In a world where any service could be easily sued over user speech, only the biggest services will survive. They’re the ones that would have the legal and technical resources to weather the flood of lawsuits.
Another option is a notice-and-takedown regime, like what exists under the Digital Millennium Copyright Act. That will also result in takedowns of legitimate speech. And there’s no doubt such a system will be abused. EFF has documented how the DMCA leads to widespread removal https://www.eff.org/takedownsof lawful speech based on frivolous copyright infringement claims. Replacing Section 230 with a takedown system will invite similar behavior, and powerful figures and government officials will use it to silence their critics.
The closest alternative to Section 230’s immunity provides protections from liability until an impartial court has issued a full and final ruling that user-generated content is illegal, and ordered that it be removed. These systems ensure that intermediaries will not have to cave to frivolous claims. But they still leave open the potential for censorship because intermediaries are unlikely to fight every lawsuit that seeks to remove lawful speech. The cost of vindicating lawful speech in court may be too high for intermediaries to handle at scale.
By contrast, immunity takes the variable of whether an intermediary will stand up for their users’ speech out of the equation. That is why Section 230 maximizes the ability for users to speak online.
In some narrow situations, Section 230 may leave victims without a legal remedy. Proposals aimed at those gaps should be considered, though lawmakers should pay careful attention that in vindicating victims, they do not broadly censor users’ speech. But those legitimate concerns are not the criticisms that Congress is levying against Section 230.
EFF will continue to fight for Section 230, as it remains the best available system to protect everyone’s ability to speak online.


Would you believe that I also completed another book since yesterday? This one is Couch Cinema: Comfort Watches from The Godfather to K-Pop Demon Hunters, a non-fiction collection of essays. No, I didn’t use “AI” or anything, I would never do that, you deserve better as readers. It’s a collection of my December Comfort Watches essays from December of 2023 and 2025, collected up in a nice single volume. I put them all together, did a light edit, added an intro, and sent it off to my agent.
As it happens, this is the first book I’ve done in years that isn’t already spoken for contractually, so we’ll see if we get any nibbles for it. If not, hey, Scalzi Enterprises was designed for just this sort of project in mind, and I wouldn’t have a problem using it as a test case to see if boutique publishing is something we have the bandwidth for. I would have to come up with a name for the imprint. We’ll find out!
Anyway. Two books in, and it’s only February. I can take the rest of the year off, right? Right?!?
— JS
[$] Development statistics for 6.19 [LWN.net]
Linus Torvalds released the 6.19 kernel on February 8, as expected. This development cycle brought 14,344 non-merge changesets into the mainline, making it the busiest release since 6.16 in July 2025. As usual, we have put together a set of statistics on where these changes come from, along with a quick look at how long new kernel developers stay around.
What should I do if a wait call reports WAIT_ABANDONED? [The Old New Thing]
If you call a wait function like
WaitForSingleObject and receive the
code WAIT_ABANDONED, what does it mean and what should
you do?
The documentation says that WAIT_ABANDONED means
that you successfully claimed a mutex, but the thread that
previously owned the mutex failed to release the mutex before it
exited. This could be an oversight because the code encountered a
code path that forgot to release the mutex. Or it could be because
the thread crashed before it could release the mutex.
The documentation also suggests that “If the mutex was protecting persistent state information, you should check it for consistency.” This is to handle the second case: The thread crashes before it can release the mutex. If the purpose of the mutex was to prevent other threads from accessing the data while it is in an inconsistent state, then the fact that the thread crashed while holding the mutex means that the data might still be in that inconsistent state.
Now, maybe you have no way to check whether the data is in an inconsistent state or have no way to repair it if such an inconsistent state is discovered. (Most people don’t bother to design their data structures with rollback or transactions, because the point of the mutex was to avoid having to write that fancy code in the first place!) In that case, you really have only two choices.
One option is to just cover your ears and pretend you didn’t hear anything. Just continue operating normally and hope that any latent corruption is not going to cause major problems.
Another option is to give up and abandon the operation. However, if that’s your choice, you have to give up properly.
The abandoned state is not sticky; is reported only to the first person to wait for the mutex after it was abandoned. Subsequent waits succeed normally. Therefore, if you decide, “Oh it’s corrupted, I’m not touching it,” and release the mutex and walk away, then the next person to wait for the mutex will receive a normal successful wait, and they will dive in, unaware that the data structures are corrupted!
One solution is to add a flag inside your data that says
“Possibly corrupted.” The code that detects the
WAIT_ABANDONED can set that flag, and everybody who
acquires the mutex can check the flag to decide if they want to
take a chance by operating on corrupted data.
I’m not saying that you have to do it that way, but it’s a choice you’re making. In for a penny, in for a pound.
In summary, here are some options when you encounter an abandoned mutex:
The final choice doesn’t make sense, because if you’re going to make everybody else think that everything is fine, then that’s the same as having everybody else simply ignore the problem. In which case, you may as well ignore the problem too!
Related reading: Understanding the consequences of WAIT_ABANDONED.
Bonus chatter: Don’t forget that if you get
WAIT_ABANDONED, the mutex is owned by you, so
make sure to release it.
The post What should I do if a wait call reports <CODE>WAIT_<WBR>ABANDONED</CODE>? appeared first on The Old New Thing.
Slog AM: The Seahawks Won, Bad Bunny Won More, and Trump Had a Terrible, No Good Sunday [The Stranger]
The Stranger's morning news roundup. by Hannah Murphy Winter
The Seahawks Won Benito Bowl LX: They did it. On Sunday, for the second time in the franchise’s 50-year history, Seattle won the Super Bowl. They beat the New England Patriots 29-13 and got to have their redemption arc after losing to the Pats in 2015. Get ready for the parade downtown on Wednesday! Not a football fan? Hometown pride not enough for you? Let me offer you this: Thanks to the Seahawks, Trump had a bad day on Sunday. He wanted the Pats to win so badly.
Benito Also Won the Benito Bowl: Thanks to Trump’s hissy fit about having a Spanish-language performer for the halftime show, Bad Bunny’s performance was always going to be political, and holy shit did he kill it. The entire performance was a love letter to Puerto Rico. The only English he spoke in the whole show was to say “God Bless America,” before listing all of the countries on the American continent. And when he appeared on stage with the Puerto Rican flag, it was the one with the light blue triangle—the independence flag. And on top of that, it was an impeccable performance. The set was a series of vignettes—including Benito giving a 5-year-old Latino boy his Grammy and an actual fucking wedding—and it was without a doubt the most lush, joyful performance I’ve seen on the Super Bowl stage. Watch it in full here.
Meanwhile, at the “All-American Halftime Show”: Because watching a Puerto Rican perform might make conservatives’ dicks fall off, TurningPointUSA hosted an “alternative” to the Super Bowl halftime show on YouTube. Apparently, about 2 million people streamed the pre-taped TPUSA fundraiser on YouTube, filling the live chat with American Flag emojis while Kid Rock, Brantley Gilbert, Lee Brice, and Gabby Barrett performed. Pete Hegseth threw a football. And that’s about all that happened.
Ring Tries to Pup-Wash Surveillance: In their 30-second Super Bowl ad, Ring cameras highlighted “Search Party,” a way to trigger all of your neighbors’ cameras to look for a dog if it’s gone missing. Sweet, right? But the system could have just as easily been called “Manhunt.” As USA Today put it, it’s The Dark Night brought to life. “Indeed, the Ring camera technology that uses AI to track multiple cameras in a vicinity to locate a lost dog is basically the same function that Wayne used to hack people's cell phones to create a high-frequency generator receiver to pin down the location for Gotham City's Clown Prince of Crime.”
Weather: Looks like the weather gods are smiling upon the Super Bowl parade. We’ll likely have some rain today, but Tuesday through Thursday should be sunny and in the 50s.
Got a spare $5 mil? Bill Gates isn’t selling Xanadu 2.0 (his megamansion) in Medina, but he is shedding one of his bonus houses around it. For a man worth more than $100 billion, selling a multi-million-dollar house is sort of like selling books to a used book store for the rest of us. For the low, low price of $4.8 million, you can be Bill Gates’s neighbor. But considering how many times his name has shown up in the Epstein files (namely for trying to sneak STI medication to his wife after he caught something from “Russian girls”), that might be bringing the price down a couple mil.
Speaking of Epstein and Microsoft Execs: It looks like Nathan Myhrvold, the chief tech officer for Microsoft from 1986 to 2000, did some time on Jeffrey’s island. He also emailed Epstein about how hard it is to “FedEx pussy,” and Epstein offered to “leave” a girl for Myhrvold at his lab.
The DOJ’s Hiring: But no one wants the job. Chad Mizelle, a former chief of staff to US Attorney General Pam Bondi, posted on the porn site formerly known as Twitter that “if you are a lawyer, are interested in being an AUSA, and support President Trump and anti-crime agenda,” you should slide into his DMs. Once a coveted position for lawyers around the country, the application questionnaires now include questions like: “How would you help advance the president’s executive orders and policy priorities in this role?” And prioritizing loyalists has meant that they’re hiring shittier lawyers. I’m sure Nick Brown doesn’t mind.
Here's that Ring #SuperBowl commercial: pic.twitter.com/1gAxIJATdz
— philip lewis (@Phil_Lewis_) February 9, 2026
Two Million Souls: According to a recent study, after almost four years of fighting, the death toll in the Ukraine War is nearing 2 million. Two-thirds of those deaths are Russian, who lost about 35,000 troops a month in 2025.
Here’s a Dystopian Headline for You: “Chatbots Make Terrible Doctors, Study Finds.” Apparently, ChatGPT and other LLMs could theoretically get into medical school, but diagnosing real humans is a whole other matter. Sometimes the chatbots generated information that was just wrong—fixating on elements of the patient’s descriptions that were irrelevant, providing a partial US phone number, or telling them to call the Australian emergency number. “In an extreme case, two users sent very similar messages describing symptoms of a subarachnoid hemorrhage but were given opposite advice,” the study’s authors wrote. “One user was told to lie down in a dark room, and the other user was given the correct recommendation to seek emergency care.” I know insurance is hell, but go to the doctor.
Biiiiig Hug: It’s been an unusually warm winter, even in Spokane, so when a deer was spotted stranded on the ice on top of Loon Lake, it was never going to be an easy rescue. Firefighter Gavin Gallagher scooched out to the center of the ice, lassoed her neck, and bearhugged her to keep her secure while the folks on land reeled them in. Rudely, she didn’t say thank you. “She ran off as, as expected,” one of the rescuers said, “to do deer things.”
View this post on Instagram
News We Didn’t Know We Needed: 404 Media published a roundup of studies about sex in space. Key lesson: Don’t make babies in space.
Because there’s no such thing as too much Bad Bunny today:
| Feed | RSS | Last fetched | Next fetched after |
|---|---|---|---|
| @ASmartBear | XML | 20:07, Friday, 13 February | 20:48, Friday, 13 February |
| a bag of four grapes | XML | 19:56, Friday, 13 February | 20:38, Friday, 13 February |
| Ansible | XML | 20:07, Friday, 13 February | 20:47, Friday, 13 February |
| Bad Science | XML | 19:49, Friday, 13 February | 20:38, Friday, 13 February |
| Black Doggerel | XML | 20:07, Friday, 13 February | 20:48, Friday, 13 February |
| Blog - Official site of Stephen Fry | XML | 19:49, Friday, 13 February | 20:38, Friday, 13 February |
| Charlie Brooker | The Guardian | XML | 19:56, Friday, 13 February | 20:38, Friday, 13 February |
| Charlie's Diary | XML | 20:28, Friday, 13 February | 21:16, Friday, 13 February |
| Chasing the Sunset - Comics Only | XML | 19:49, Friday, 13 February | 20:38, Friday, 13 February |
| Coding Horror | XML | 20:28, Friday, 13 February | 21:15, Friday, 13 February |
| Cory Doctorow's craphound.com | XML | 19:56, Friday, 13 February | 20:38, Friday, 13 February |
| Cory Doctorow, Author at Boing Boing | XML | 20:07, Friday, 13 February | 20:48, Friday, 13 February |
| Ctrl+Alt+Del Comic | XML | 20:28, Friday, 13 February | 21:16, Friday, 13 February |
| Cyberunions | XML | 19:49, Friday, 13 February | 20:38, Friday, 13 February |
| David Mitchell | The Guardian | XML | 19:49, Friday, 13 February | 20:32, Friday, 13 February |
| Deeplinks | XML | 19:49, Friday, 13 February | 20:33, Friday, 13 February |
| Diesel Sweeties webcomic by rstevens | XML | 19:49, Friday, 13 February | 20:32, Friday, 13 February |
| Dilbert | XML | 19:49, Friday, 13 February | 20:38, Friday, 13 February |
| Dork Tower | XML | 19:56, Friday, 13 February | 20:38, Friday, 13 February |
| Economics from the Top Down | XML | 19:49, Friday, 13 February | 20:32, Friday, 13 February |
| Edmund Finney's Quest to Find the Meaning of Life | XML | 19:49, Friday, 13 February | 20:32, Friday, 13 February |
| EFF Action Center | XML | 19:49, Friday, 13 February | 20:32, Friday, 13 February |
| Enspiral Tales - Medium | XML | 19:49, Friday, 13 February | 20:34, Friday, 13 February |
| Falkvinge on Liberty | XML | 20:28, Friday, 13 February | 21:16, Friday, 13 February |
| Flipside | XML | 19:56, Friday, 13 February | 20:38, Friday, 13 February |
| Flipside | XML | 19:49, Friday, 13 February | 20:34, Friday, 13 February |
| Free software jobs | XML | 20:07, Friday, 13 February | 20:47, Friday, 13 February |
| Full Frontal Nerdity by Aaron Williams | XML | 20:28, Friday, 13 February | 21:16, Friday, 13 February |
| General Protection Fault: Comic Updates | XML | 20:28, Friday, 13 February | 21:16, Friday, 13 February |
| George Monbiot | XML | 19:49, Friday, 13 February | 20:32, Friday, 13 February |
| Girl Genius | XML | 19:49, Friday, 13 February | 20:32, Friday, 13 February |
| Groklaw | XML | 20:28, Friday, 13 February | 21:16, Friday, 13 February |
| Grrl Power | XML | 19:56, Friday, 13 February | 20:38, Friday, 13 February |
| Hackney Anarchist Group | XML | 19:49, Friday, 13 February | 20:38, Friday, 13 February |
| Hackney Solidarity Network | XML | 19:49, Friday, 13 February | 20:34, Friday, 13 February |
| http://blog.llvm.org/feeds/posts/default | XML | 19:49, Friday, 13 February | 20:34, Friday, 13 February |
| http://calendar.google.com/calendar/feeds/q7s5o02sj8hcam52hutbcofoo4%40group.calendar.google.com/public/basic | XML | 20:07, Friday, 13 February | 20:47, Friday, 13 February |
| http://dynamic.boingboing.net/cgi-bin/mt/mt-cp.cgi?__mode=feed&_type=posts&blog_id=1&id=1 | XML | 19:49, Friday, 13 February | 20:34, Friday, 13 February |
| http://eng.anarchoblogs.org/feed/atom/ | XML | 19:56, Friday, 13 February | 20:42, Friday, 13 February |
| http://feed43.com/3874015735218037.xml | XML | 19:56, Friday, 13 February | 20:42, Friday, 13 February |
| http://flatearthnews.net/flatearthnews.net/blogfeed | XML | 20:07, Friday, 13 February | 20:48, Friday, 13 February |
| http://fulltextrssfeed.com/ | XML | 19:49, Friday, 13 February | 20:32, Friday, 13 February |
| http://london.indymedia.org/articles.rss | XML | 20:28, Friday, 13 February | 21:15, Friday, 13 February |
| http://pipes.yahoo.com/pipes/pipe.run?_id=ad0530218c055aa302f7e0e84d5d6515&_render=rss | XML | 19:56, Friday, 13 February | 20:42, Friday, 13 February |
| http://planet.gridpp.ac.uk/atom.xml | XML | 20:28, Friday, 13 February | 21:15, Friday, 13 February |
| http://shirky.com/weblog/feed/atom/ | XML | 19:49, Friday, 13 February | 20:33, Friday, 13 February |
| http://thecommune.co.uk/feed/ | XML | 19:49, Friday, 13 February | 20:34, Friday, 13 February |
| http://theness.com/roguesgallery/feed/ | XML | 20:28, Friday, 13 February | 21:16, Friday, 13 February |
| http://www.airshipentertainment.com/buck/buckcomic/buck.rss | XML | 19:49, Friday, 13 February | 20:38, Friday, 13 February |
| http://www.airshipentertainment.com/growf/growfcomic/growf.rss | XML | 19:49, Friday, 13 February | 20:33, Friday, 13 February |
| http://www.airshipentertainment.com/myth/mythcomic/myth.rss | XML | 19:56, Friday, 13 February | 20:38, Friday, 13 February |
| http://www.baen.com/baenebooks | XML | 19:49, Friday, 13 February | 20:33, Friday, 13 February |
| http://www.feedsapi.com/makefulltextfeed.php?url=http%3A%2F%2Fwww.somethingpositive.net%2Fsp.xml&what=auto&key=&max=7&links=preserve&exc=&privacy=I+accept | XML | 19:49, Friday, 13 February | 20:33, Friday, 13 February |
| http://www.godhatesastronauts.com/feed/ | XML | 20:28, Friday, 13 February | 21:16, Friday, 13 February |
| http://www.tinycat.co.uk/feed/ | XML | 20:07, Friday, 13 February | 20:47, Friday, 13 February |
| https://anarchism.pageabode.com/blogs/anarcho/feed/ | XML | 19:49, Friday, 13 February | 20:33, Friday, 13 February |
| https://broodhollow.krisstraub.comfeed/ | XML | 20:07, Friday, 13 February | 20:48, Friday, 13 February |
| https://debian-administration.org/atom.xml | XML | 20:07, Friday, 13 February | 20:48, Friday, 13 February |
| https://elitetheatre.org/ | XML | 20:28, Friday, 13 February | 21:15, Friday, 13 February |
| https://feeds.feedburner.com/Starslip | XML | 19:56, Friday, 13 February | 20:38, Friday, 13 February |
| https://feeds2.feedburner.com/GeekEtiquette?format=xml | XML | 19:49, Friday, 13 February | 20:32, Friday, 13 February |
| https://hackbloc.org/rss.xml | XML | 20:07, Friday, 13 February | 20:48, Friday, 13 February |
| https://kajafoglio.livejournal.com/data/atom/ | XML | 19:49, Friday, 13 February | 20:38, Friday, 13 February |
| https://philfoglio.livejournal.com/data/atom/ | XML | 20:28, Friday, 13 February | 21:15, Friday, 13 February |
| https://pixietrixcomix.com/eerie-cutiescomic.rss | XML | 20:28, Friday, 13 February | 21:15, Friday, 13 February |
| https://pixietrixcomix.com/menage-a-3/comic.rss | XML | 19:49, Friday, 13 February | 20:33, Friday, 13 February |
| https://propertyistheft.wordpress.com/feed/ | XML | 20:07, Friday, 13 February | 20:47, Friday, 13 February |
| https://requiem.seraph-inn.com/updates.rss | XML | 20:07, Friday, 13 February | 20:47, Friday, 13 February |
| https://studiofoglio.livejournal.com/data/atom/ | XML | 19:56, Friday, 13 February | 20:42, Friday, 13 February |
| https://thecommandline.net/feed/ | XML | 19:56, Friday, 13 February | 20:42, Friday, 13 February |
| https://torrentfreak.com/subscriptions/ | XML | 19:49, Friday, 13 February | 20:32, Friday, 13 February |
| https://web.randi.org/?format=feed&type=rss | XML | 19:49, Friday, 13 February | 20:32, Friday, 13 February |
| https://www.dcscience.net/feed/medium.co | XML | 19:49, Friday, 13 February | 20:38, Friday, 13 February |
| https://www.DropCatch.com/domain/steampunkmagazine.com | XML | 20:07, Friday, 13 February | 20:48, Friday, 13 February |
| https://www.DropCatch.com/domain/ubuntuweblogs.org | XML | 19:56, Friday, 13 February | 20:42, Friday, 13 February |
| https://www.DropCatch.com/redirect/?domain=DyingAlone.net | XML | 20:28, Friday, 13 February | 21:15, Friday, 13 February |
| https://www.freedompress.org.uk:443/news/feed/ | XML | 20:28, Friday, 13 February | 21:16, Friday, 13 February |
| https://www.goblinscomic.com/category/comics/feed/ | XML | 20:07, Friday, 13 February | 20:47, Friday, 13 February |
| https://www.loomio.com/blog/feed/ | XML | 19:56, Friday, 13 February | 20:42, Friday, 13 February |
| https://www.newstatesman.com/feeds/blogs/laurie-penny.rss | XML | 20:07, Friday, 13 February | 20:48, Friday, 13 February |
| https://www.patreon.com/graveyardgreg/posts/comic.rss | XML | 20:28, Friday, 13 February | 21:15, Friday, 13 February |
| https://www.rightmove.co.uk/rss/property-for-sale/find.html?locationIdentifier=REGION^876&maxPrice=240000&minBedrooms=2&displayPropertyType=houses&oldDisplayPropertyType=houses&primaryDisplayPropertyType=houses&oldPrimaryDisplayPropertyType=houses&numberOfPropertiesPerPage=24 | XML | 19:49, Friday, 13 February | 20:32, Friday, 13 February |
| https://x.com/statuses/user_timeline/22724360.rss | XML | 20:07, Friday, 13 February | 20:47, Friday, 13 February |
| Humble Bundle Blog | XML | 20:28, Friday, 13 February | 21:15, Friday, 13 February |
| I, Cringely | XML | 20:28, Friday, 13 February | 21:16, Friday, 13 February |
| Irregular Webcomic! | XML | 20:07, Friday, 13 February | 20:48, Friday, 13 February |
| Joel on Software | XML | 19:56, Friday, 13 February | 20:42, Friday, 13 February |
| Judith Proctor's Journal | XML | 20:07, Friday, 13 February | 20:47, Friday, 13 February |
| Krebs on Security | XML | 20:07, Friday, 13 February | 20:48, Friday, 13 February |
| Lambda the Ultimate - Programming Languages Weblog | XML | 20:07, Friday, 13 February | 20:47, Friday, 13 February |
| Looking For Group | XML | 19:49, Friday, 13 February | 20:33, Friday, 13 February |
| LWN.net | XML | 20:07, Friday, 13 February | 20:48, Friday, 13 February |
| Mimi and Eunice | XML | 19:49, Friday, 13 February | 20:34, Friday, 13 February |
| Neil Gaiman's Journal | XML | 20:07, Friday, 13 February | 20:47, Friday, 13 February |
| Nina Paley | XML | 20:28, Friday, 13 February | 21:15, Friday, 13 February |
| O Abnormal – Scifi/Fantasy Artist | XML | 19:49, Friday, 13 February | 20:34, Friday, 13 February |
| Oglaf! -- Comics. Often dirty. | XML | 20:28, Friday, 13 February | 21:16, Friday, 13 February |
| Oh Joy Sex Toy | XML | 19:49, Friday, 13 February | 20:33, Friday, 13 February |
| Order of the Stick | XML | 19:49, Friday, 13 February | 20:33, Friday, 13 February |
| Original Fiction Archives - Reactor | XML | 19:56, Friday, 13 February | 20:38, Friday, 13 February |
| OSnews | XML | 19:49, Friday, 13 February | 20:34, Friday, 13 February |
| Past Events | XML | 20:28, Friday, 13 February | 21:16, Friday, 13 February |
| Paul Graham: Unofficial RSS Feed | XML | 19:49, Friday, 13 February | 20:34, Friday, 13 February |
| Penny Arcade | XML | 19:56, Friday, 13 February | 20:38, Friday, 13 February |
| Penny Red | XML | 19:49, Friday, 13 February | 20:34, Friday, 13 February |
| PHD Comics | XML | 19:49, Friday, 13 February | 20:38, Friday, 13 February |
| Phil's blog | XML | 20:28, Friday, 13 February | 21:16, Friday, 13 February |
| Planet Debian | XML | 19:49, Friday, 13 February | 20:34, Friday, 13 February |
| Planet GNU | XML | 20:07, Friday, 13 February | 20:48, Friday, 13 February |
| Planet Lisp | XML | 19:49, Friday, 13 February | 20:38, Friday, 13 February |
| Pluralistic: Daily links from Cory Doctorow | XML | 20:07, Friday, 13 February | 20:47, Friday, 13 February |
| PS238 by Aaron Williams | XML | 20:28, Friday, 13 February | 21:16, Friday, 13 February |
| QC RSS | XML | 20:28, Friday, 13 February | 21:15, Friday, 13 February |
| Radar | XML | 19:56, Friday, 13 February | 20:38, Friday, 13 February |
| RevK®'s ramblings | XML | 19:56, Friday, 13 February | 20:42, Friday, 13 February |
| Richard Stallman's Political Notes | XML | 19:49, Friday, 13 February | 20:38, Friday, 13 February |
| Scenes From A Multiverse | XML | 20:28, Friday, 13 February | 21:15, Friday, 13 February |
| Schneier on Security | XML | 20:07, Friday, 13 February | 20:47, Friday, 13 February |
| SCHNEWS.ORG.UK | XML | 19:49, Friday, 13 February | 20:33, Friday, 13 February |
| Scripting News | XML | 19:56, Friday, 13 February | 20:38, Friday, 13 February |
| Seth's Blog | XML | 19:56, Friday, 13 February | 20:42, Friday, 13 February |
| Skin Horse | XML | 19:56, Friday, 13 February | 20:38, Friday, 13 February |
| Spinnerette | XML | 19:49, Friday, 13 February | 20:33, Friday, 13 February |
| Tales From the Riverbank | XML | 19:49, Friday, 13 February | 20:38, Friday, 13 February |
| The Adventures of Dr. McNinja | XML | 19:49, Friday, 13 February | 20:34, Friday, 13 February |
| The Bumpycat sat on the mat | XML | 20:07, Friday, 13 February | 20:47, Friday, 13 February |
| The Daily WTF | XML | 19:56, Friday, 13 February | 20:42, Friday, 13 February |
| The Monochrome Mob | XML | 20:07, Friday, 13 February | 20:48, Friday, 13 February |
| The Non-Adventures of Wonderella | XML | 19:49, Friday, 13 February | 20:32, Friday, 13 February |
| The Old New Thing | XML | 19:49, Friday, 13 February | 20:33, Friday, 13 February |
| The Open Source Grid Engine Blog | XML | 20:28, Friday, 13 February | 21:15, Friday, 13 February |
| The Stranger | XML | 19:49, Friday, 13 February | 20:34, Friday, 13 February |
| towerhamletsalarm | XML | 19:56, Friday, 13 February | 20:42, Friday, 13 February |
| Twokinds | XML | 19:56, Friday, 13 February | 20:38, Friday, 13 February |
| UK Indymedia Features | XML | 19:56, Friday, 13 February | 20:38, Friday, 13 February |
| Uploads from ne11y | XML | 19:56, Friday, 13 February | 20:42, Friday, 13 February |
| Uploads from piasladic | XML | 19:49, Friday, 13 February | 20:32, Friday, 13 February |
| Use Sword on Monster | XML | 20:28, Friday, 13 February | 21:15, Friday, 13 February |
| Wayward Sons: Legends - Sci-Fi Full Page Webcomic - Updates Daily | XML | 19:56, Friday, 13 February | 20:42, Friday, 13 February |
| what if? | XML | 20:07, Friday, 13 February | 20:48, Friday, 13 February |
| Whatever | XML | 19:49, Friday, 13 February | 20:38, Friday, 13 February |
| Whitechapel Anarchist Group | XML | 19:49, Friday, 13 February | 20:38, Friday, 13 February |
| WIL WHEATON dot NET | XML | 19:49, Friday, 13 February | 20:33, Friday, 13 February |
| wish | XML | 19:49, Friday, 13 February | 20:34, Friday, 13 February |
| Writing the Bright Fantastic | XML | 19:49, Friday, 13 February | 20:33, Friday, 13 February |
| xkcd.com | XML | 19:49, Friday, 13 February | 20:32, Friday, 13 February |