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 July’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 <https://www.penny-arcade.com/comic/2026/02/11/">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
these days. 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.
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.
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.*
Sanders secures vote on Amendment to cut $75 Billion to deportation thugs [Richard Stallman's Political Notes]
*Sanders Secures Vote on His Amendment to Cut $75 Billion in [deportation thug] Funding and Redirect Those Funds to Medicaid.*
This would undo one of the disastrous things in the Big Bad Bill.
FLOCK license plate readers accessed by federal agents [Richard Stallman's Political Notes]
FLOCK "security" license plate readers installed by California towns were being accessed secretly by federal agents who were surely up to no good.
Amazon as an example of enshittification [Richard Stallman's Political Notes]
Amazon as an example of enshittification: mistreating customers and manufacturers in many different ways, explained in this article.
Do you feel disgusted with Amazon, but yield because "boycotting Amazon is impossible"? I find it possible! I have never ordered anything from Amazon, and I don't find it hard to continue refusing. If a product I want is sold only by Amazon, I look for a substitute.
As a separate matter, I never order any product remotely, not directly. Instead I ask a friend to order it — not from Amazon! — and reimburse my friend before or after. That way, no data is collected about me.
Indeed, when someone wants to buy a present for me, I ask per to "Please not get anything for me from Amazon. Not anything, ever!"
Amazon is not the only company to engage in the injustice of DRM — Digital Restrictions Management.
The practice of DRM is vicious no matter who does it. I boycott all media that have DRM. What I say about Netflix and Spotify goes for Amazon too.
I detest DRM so much that I refuse to listen or watch someone else's DRM's copy using per own DRM-supporting media player, because that would be surrendering to DRM. The only morally legitimate copy of such a work is an unauthorized copy.
Robert Reich on funding for deportation thugs [Richard Stallman's Political Notes]
Robert Reich: Congress should write into the law to fund the deportation thug agency an explicit requirement that failure to obey any court order will immediately terminate all funding for it.
Israeli army bulldozed graves in war cemetery [Richard Stallman's Political Notes]
Last fall the Israeli army bulldozed graves in a war cemetery in which were buried Allied soldiers who died in World War I and II. Some people are shocked.
You'd think that some people are more concerned about symbolic insult to deceased Australians than about the killing of living Palestinians.
Illinois established connection with WHO [Richard Stallman's Political Notes]
Illinois has established a connection with WHO, to coordinate with global response to diseases.
This is necessary because the saboteur in chief has blocked the US government from doing this job.
Trump suggests Republicans should "take over" elections [Richard Stallman's Political Notes]
*Trump suggests Republicans should "take over" elections to protect the [Republican] party* from losing elections.
Artificial species of life [Richard Stallman's Political Notes]
Discussing the possibility and danger of artificial species of life, being created and released.
It should be noted that AlphaFold2 is not perfect. It can predict the three-dimesional shape of of most amino-acid chains, but there is a substantial fraction that it gets wrong.
Nonetheless, it does a better job of this than any other known system, including a human being, so I think it qualifies as "intelligence".
Big Oil conspiracy to block electric vehicles [Richard Stallman's Political Notes]
Michigan and other states are suing Big Oil for conspiracy to block the success of electric vehicles and clean electric generation.
Discord cracked, government IDs stolen [Richard Stallman's Political Notes]
*[The unjust digital communication site] Discord says users' government IDs [which it demanded for government-mandated] age checks [were] stolen by [crackers].*
Cop infiltrated anti-fascist group in UK [Richard Stallman's Political Notes]
Three anti-fascist activists in the UK accuse an undercover cop who infiltrated their group of trying to recruit them into a plan to firebomb a store. He told them that the store was a front for some right-wing activity.
They were not inclined towards violence, so they rejected the suggestion immediately. Will he be prosecuted for this attempt to organize crime?
Democrats' 10 demands to "rein in" deportation thugs [Richard Stallman's Political Notes]
*Democrats' 10 demands to "rein in" [the deportation thugs] – the full list of proposed reforms.*
I support all these. I also support taking away the extra funds the deportation thugs received in the Big Bad Bill and giving them to medical treatment for nonwealthy Americans, and we ought to demand both. But if we must choose one or the other, I would choose the former. Fascist government is a worse problem than poverty.
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.
Pacific Science Center’s Boeing IMAX Theater 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 has been 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.”
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 aRedox 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, glibc, 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 without a warrant. 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:
The film Melania [Richard Stallman's Political Notes]
The film, Melania, paid for by Amazon, was an opportunity for Bezos to pay a bribe to the extortionist and his wife. However, he doesn't mind spending millions on a bribe, if it gets him billions of dollars of our money.
Urgent: Block US military intervention against Iran [Richard Stallman's Political Notes]
US citizens: call on Congress to block US military intervention against Iran.
I can imagine a specific manner of military intervention against Iran's murderous repression. This intervention would target the bases of repression forces, such as Basij, and the court buildings used to try protesters (but not when protesters or their families and lawyers would be present).
But I don't think the bully would choose to do that. He doesn't care about Iranian protesters, or any Iranians except perhaps oil billionaires seeking to give him fealty. Practically speaking, if he orders an attack it will be designed to achieve his selfish and imperialistic aims.
US citizens: Join with this campaign to address this issue.
To phone your congresscritter about this, the main switchboard is +1-202-224-3121.
Please spread the word.
Urgent: CEOs end collaboration with deportation thugs [Richard Stallman's Political Notes]
US citizens: call on certain CEOs to end their collaboration with the US deportation thugs.
See the instructions for how to sign this letter campaign without running any nonfree JavaScript code--not trivial, but not hard.
Urgent: Restrict deportation thugs jailing children [Richard Stallman's Political Notes]
US citizens: call on Congress to restrict deportation thugs from jailing children or doing anything in or near public schools.
See the instructions for how to sign this letter campaign without running any nonfree JavaScript code--not trivial, but not hard.
In my letter I said this should apply to private schools too.
US citizens: Join with this campaign to address this issue.
To phone your congresscritter about this, the main switchboard is +1-202-224-3121.
Please spread the word.
Urgent: Pass Billionaires' Income Tax [Richard Stallman's Political Notes]
US citizens: call on your congresscritter and senators to pass the Billionaires' Income Tax.
US citizens: Join with this campaign to address this issue.
To phone your congresscritter about this, the main switchboard is +1-202-224-3121.
Please spread the word.
Urgent: Take back money granted to deportation thugs [Richard Stallman's Political Notes]
US citizens: call on your congresscritter and senators to insist on taking back the extra money granted to deportation thugs by the Big Bad Bill, and explicitly prohibit various unjust and cruel practices.
See the instructions for how to sign this letter campaign without running any nonfree JavaScript code--not trivial, but not hard.
US citizens: Join with this campaign to address this issue.
To phone your congresscritter about this, the main switchboard is +1-202-224-3121.
Please spread the word.
Urgent: Investigate attempt to undermine elections [Richard Stallman's Political Notes]
US citizens: ask your congresscritter and senators to investigate the attempt to undermine our elections by giving private Social Security data to election deniers.
US citizens: Join with this campaign to address this issue.
To phone your congresscritter about this, the main switchboard is +1-202-224-3121.
Please spread the word.
Urgent: Plain and accurate reporting on Republican plans and promises [Richard Stallman's Political Notes]
US citizens: call on mainstream press outlets to report accurately and plainly on Republican plans and promises — quoting them directly, explaining their real-world impacts, and not softening extremist agendas in the name of "balance".
Urgent: Adobe Acrobat Pretend Intelligence [Richard Stallman's Political Notes]
I have seen a report that Adobe Acrobat is pressuring users to upload their own documents to Adobe's Pretend Intelligence summarization tool. But I don't have a source to cite. Can anyone send a report I can refer to?
Urgent: Support Illinois Human Rights Advocacy Protection Act [Richard Stallman's Political Notes]
US citizens: support passage of the Illinois Human Rights Advocacy Protection Act, which would repeal the specific prohibition on boycotting business with Israel.
Americans should be free to boycott any country.
Urgent: Investigate corruptor's own corruption [Richard Stallman's Political Notes]
US citizens: call on Congress to investigate the corruptor's own corruption.
US citizens: Join with this campaign to address this issue.
To phone your congresscritter about this, the main switchboard is +1-202-224-3121.
Please spread the word.
Urgent: Crack down on white-collar financial crime [Richard Stallman's Political Notes]
US citizens: call on the SEC and other federal regulators to crack down on white-collar financial crime and enforce the law without fear or favor.
That will take courage — the corrupter wants laws enforced with thorough personal favor.
Naive to think Mr. Grabby's retreats are real [Richard Stallman's Political Notes]
*It is beyond naive for Democrats – and Europe – to think [Mr Grabby's] retreats are real. He never backs down for long.*
I've stated a similar point by saying that he never really commits to a deal with anyone.
London thugs arrested campaigner for carrying sign at protest [Richard Stallman's Political Notes]
London thugs arrested campaigner Peter Tatchell for carrying a sign at a protest. The sign said, "globalise the intifada", followed by "Non-violent resistance. End Israel’s occupation of Gaza & West Bank."
I've explained how "globalize the intifada", by itself, is used as a dog whistle for violence including suicide bombing. However, the full text of Tatchell's sign clearly rejects that implication, so it isn't a dog whistle at all.
People should not be arrested for dog whistles anyway, because that practice amounts to massive repression.
I don't have memories associated with the name Tatchell, but his statements reported here show an admirable clarity of thinking.
New York State team to monitor actions of deportation thugs [Richard Stallman's Political Notes]
New York State will form an official team to monitor the actions of deportation thugs, checking for violations of applicable laws.
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.
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.
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.
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.
[$] 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.
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).
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:
Op-ed: Weakening Section 230 Would Chill Online Speech [Deeplinks]
(This appeared as an op-ed published Friday, Feb. 6 in the Daily Journal, a California legal newspaper.)
Section 230, “the 26 words that created the
internet,” was enacted 30 years ago this week. It was no
rush-job—rather, it was the result of wise legislative
deliberation and foresight, and it remains the best bulwark to
protect free expression online.
The internet lets people everywhere connect, share ideas and
advocate for change without needing immense resources or technical
expertise. Our unprecedented ability to communicate online—on
blogs, social media platforms, and educational and cultural
platforms like Wikipedia and the Internet Archive—is not an
accident. In writing Section 230, Congress recognized that for free
expression to thrive on the internet, it had to protect the
services that power users’ speech. Section 230 does this by
preventing most civil suits against online services that are based
on what users say. The law also protects users who act like
intermediaries when they, for example, forward an email, retweet
another user or host a comment section on their blog.
The merits of immunity, both for internet users who rely on intermediaries—from ISPs to email providers to social media platforms, and for internet users who are intermediaries—are readily apparent when compared with the alternatives.
One alternative would be to provide no protection at all for intermediaries, leaving them liable for anything and everything anyone says using their service. This legal risk would essentially require every intermediary to review and legally assess every word, sound or image before it’s published—an impossibility at scale, and a death knell for real-time user-generated content.
Another option: giving protection to intermediaries only if they exercise a specified duty of care, such as where an intermediary would be liable if they fail to act reasonably in publishing a user’s post. But negligence and other objective standards are almost always insufficient to protect freedom of expression because they introduce significant uncertainty into the process and create real chilling effects for intermediaries. That is, intermediaries will choose not to publish anything remotely provocative—even if it’s clearly protected speech—for fear of having to defend themselves in court, even if they are likely to ultimately prevail. Many Section 230 critics bemoan the fact that it prevented courts from developing a common law duty of care for online intermediaries. But the criticism rarely acknowledges the experience of common law courts around the world, few of which adopted an objective standard, and many of which adopted immunity or something very close to it.
Congress’ purposeful choice of Section 230’s immunity is the best way to preserve the ability of millions of people in the U.S. to publish their thoughts, photos and jokes online, to blog and vlog, post, and send emails and messages.
Another alternative is a knowledge-based system in which an intermediary is liable only after being notified of the presence of harmful content and failing to remove it within a certain amount of time. This notice-and-takedown system invites tremendous abuse, as seen under the Digital Millennium Copyright Act’s approach: It’s too easy for someone to notify an intermediary that content is illegal or tortious simply to get something they dislike depublished. Rather than spending the time and money required to adequately review such claims, intermediaries would simply take the content down.
All these alternatives would lead to massive depublication in many, if not most, cases, not because the content deserves to be taken down, nor because the intermediaries want to do so, but because it’s not worth assessing the risk of liability or defending the user’s speech. No intermediary can be expected to champion someone else’s free speech at its own considerable expense.Nor is the United States the only government to eschew “upload filtering,” the requirement that someone must review content before publication. European Union rules avoid this also, recognizing how costly and burdensome it is. Free societies recognize that this kind of pre-publication review will lead risk-averse platforms to nix anything that anyone anywhere could deem controversial, leading us to the most vanilla, anodyne internet imaginable.
The advent of artificial intelligence doesn’t change this. Perhaps there’s a tool that can detect a specific word or image, but no AI can make legal determinations or be prompted to identify all defamation or harassment. Human expression is simply too contextual for AI to vet; even if a mechanism could flag things for human review, the scale is so massive that such human review would still be overwhelmingly burdensome.
Congress’ purposeful choice of Section 230’s immunity is the best way to preserve the ability of millions of people in the U.S. to publish their thoughts, photos and jokes online, to blog and vlog, post, and send emails and messages. Each of those acts requires numerous layers of online services, all of which face potential liability without immunity.
This law isn’t a shield for “big tech.” Its ultimate beneficiaries are all of us who want to post things online without having to code it ourselves, and so that we can read and watch content that others create. If Congress eliminated Section 230 immunity, for example, we would be asking email providers and messaging platforms to read and legally assess everything a user writes before agreeing to send it.
For many critics of Section 230, the chilling effect is the point: They want a system that will discourage online services to publish protected speech that some find undesirable. They want platforms to publish less than what they would otherwise choose to publish, even when that speech is protected and nonactionable.
When Section 230 was passed in 1996, about 40 million people used the internet worldwide; by 2025, estimates ranged from five billion to north of six billion. In 1996, there were fewer than 300,000 websites; by last year, estimates ranged up to 1.3 billion. There is no workforce and no technology that can police the enormity of everything that everyone says.
Internet intermediaries—whether social media platforms, email providers or users themselves—are protected by Section 230 so that speech can flourish online.
Problem in Drummer blogs. oldschool.scripting.com is now served on https and the code in the template doesn't take that into account. For example, if you try to load the home page of my blog, you won't get through because it can't open the http files in the head of the template. This is something users can fix because you get to change your template. So I'm going to stay focused on my current work.
Offpunk 3.0 released [LWN.net]
Version
3.0 of the Offpunk
offline-first, command-line web, Gemini, and
Gopher
browser has been released. Notable changes in this release include
integration of the unmerdify
library to "remove cruft
" from web sites, the
xkcdpunk standalone tool for viewing xkcd comics in the terminal, and a
cookies command to enable browsing web sites (such as
LWN.net) while being logged in.
Something wonderful happened on the road leading to 3.0: Offpunk became a true cooperative effort. Offpunk 3.0 is probably the first release that contains code I didn't review line-by-line. Unmerdify (by Vincent Jousse), all the translation infrastructure (by the always-present JMCS), and the community packaging effort are areas for which I barely touched the code.
So, before anything else, I want to thank all the people involved for sharing their energy and motivation. I'm very grateful for every contribution the project received. I'm also really happy to see "old names" replying from time to time on the mailing list. It makes me feel like there's an emerging Offpunk community where everybody can contribute at their own pace.
There were a lot of changes between 2.8 and 3.0, which probably means some new bugs and some regressions. We count on you, yes, you!, to report them and make 3.1 a lot more stable. It's as easy at typing "bugreport" in offpunk!
See the "Installing Offpunk" page to get started.
Debian's tag2upload considered stable [LWN.net]
Sean Whitton has announced that Debian's tag2upload service is now out of beta and ready for use by Debian developers and maintainers.
During the beta we encountered only a few significant bugs. Now that we've fixed those, our rate of successful uploads is hovering around 95%. Failures are almost always due to packaging inconsistencies that older workflows don't detect, and therefore only need fixing once per package.
We don't think you need explicit approval from your co-maintainers anymore. Your upload workflows can be different to your teammates. They can be using dput, dgit or tag2upload.
LWN covered tag2upload in July 2024.
The official unplanned emergency OSNews fundraiser! [OSnews]
Update: we’ve already hit the €5000 goal, in a little over 24 hours. Considering I thought this would take weeks – assuming we’d hit the goal at all – I’m a bit overwhelmed with all the love and support. Thank you so, so much. Since people are still donating, I upped the goal to €7500 to give people something to donate to.
You people are wild. Amazing.
It’s time for an OSNews fundrasier! This time, it’s unplanned due to a financial emergency after our car unexpectedly had to be scrapped (you can find more details below). If you want to support one of the few independent technology news websites left, this is your chance. OSNews is entirely supported by you, our readers, so go to our Ko-Fi and donate to our emergency fundraiser today!
Why support OSNews?
In short, we are truly independent. After turning off our ads, our Patreons and donors are our sole source of income, and since I know many of you prefer the occasional individual donation over recurring Patreon ones, I run a fundraiser a few times a year to rally the troops, so to speak. This particular fundraiser wasn’t planned, however, given the circumstances described below, several readers have urged me to run a fundraiser now.
We’re incredibly grateful for even having the opportunity to do something like this, and as always, I’d like to stress that OSNews will never be paywalled, and that access to our website will never be predicated on your financial support. You can ignore all of this and continue on reading the site as usual.
Sadly, and unexpectedly, we’ve had to scrap our car. Our 2007 Hyundai Santa Fe did not survive this Arctic Winter, as the two decades in the biting cold has taken a toll on a long list of components and parts – it would no longer start. After consulting an expert, we determined that repairs would’ve been too expensive to make financial sense for such an old vehicle. Sometimes, you have to take the loss lest you throw money down a pit. An unreliable car in an Arctic climate is a really bad idea, since getting stranded on a back road somewhere when it’s -30°C (or colder) with two toddlers is not going to be a fun time.
On top of that, my wife uses our car to commute to work, and while using the bus is going to be fine for a little while, her job in home care for the very elderly and recovering alcoholics is incredibly stressful and intensive. Dealing with bus schedules and wait times at such low temperatures is not exactly compatible with her job. Since she’s just recovering from a doctor-mandated rest period – very common in her line of work – her income has taken a hit. Taking professional care of people with severe dementia or other old-age related conditions is a thankless and underpaid job, and it’s no surprise those working in this profession often require mandated rest (and thus a temporary pay cut).
And so, urged on by readers on Mastodon, I’m doing an OSNews fundraiser to help us pay for the “new” car. Of course, we’re looking for a used car, not a new one, and based on our needs we’ve set a budget of around €10,000. This should allow us to buy something like a used Mazda 6 or Volvo V60 from around 2014-2015, or something similar in size and age, with a reasonable petrol engine (an EV is well out of our price range). We consider this the sweet spot for safety features, size, age, longevity, and reliability. We’ve got some savings, but most of the purchase price will have to come in the form of a car loan. We’ve already made some changes to our monthly expenses to cover for part of the monthly repayments, including a lucky break where our daycare expenses will be going down considerably next month.
Based on this, I’ve set the fundraising goal at €5000. If we manage to hit that – and the last few times we hit our goals quite fast – it won’t cover the entire purchase price, but it will cut down on the amount we need to loan considerably.
I’m feeling a little apprehensive about all of this, since this isn’t really an OSNews-related expense I can easily get some content out of. However, I’m entirely open to suggestions about how I could get some OSNews content out of this – perhaps buying and installing one of those Android headunits with a large display? They make them tailored for almost every vehicle at low prices on AliExpress, and the installation process and user experience might be something interesting to write about, as it’s potentially a great way to add some modern features to an older car. Feel free to make any suggestions.
I’m also open to other crazy ideas. If you happen to work at an automaker, and need some testing done in an Arctic environment – including ice roads – I’m open to ideas.
Since about half of our audience hails from the United States, I figured I’d make a few notes about car pricing in Europe, and in Arctic Sweden in particular. Cars are definitely more expensive here in Europe, doubly so in the sparsely populated area where we live (low supply leads to higher prices). Buying a brand new car is entirely out of the question due to pricing, and leasing is also far too expensive (well over €500/month for even a basic, small car). Used electric cars are still well out of our budget as well, and since we don’t have our own driveway, we wouldn’t be able to charge at home anyway.
Opting to forego a car entirely is sadly not an option either. With two small children, the Arctic climate, the remoteness, my wife’s stressful job and commute, and long distances to basic amenities, we can’t “go Dutch” and live off public transport and bicycles, no matter how much we’d want to. We have considered it, but it’s just not a realistic long-term solution. Had we lived in The Netherlands or in a big city, going carless would’ve possibly been a more realistic option.
We intended to drive the Santa Fe until it fell apart, but we did not expect this to happen so soon. Feel free to sound off if you have any other questions regarding car buying and ownership where we live, and I’ll try my best to answer your questions.
As always, thank you for your support, thank you for reading OSNews, and thank you for being here.
The Dillo appreciation post [OSnews]
About a year ago I mentioned that I had rediscovered the Dillo Web Browser. Unlike some of my other hobbies, endeavours, and interests, my appreciation for Dillo has not wavered.
I only have a moment to gush today, so I’ll cut right to it. Dillo has been plugging along nicely (see the Git forge.) and adding little features. Features that even I, a guy with a blog, can put to use. Here are a few of my favourites.
↫ Bobby Hiltz
If you’re looking for a more minimalist, less distracting browser experience that gives you a ton of interesting UNIXy control, you should really consider giving Dillo a try.
KDE Linux improves by leaps and bounds [OSnews]
KDE’s Nate Graham has published a status update about KDE Linux, the KDE project’s new immutable Linux distribution, intended to be the “KDE OS” showcasing the best of the KDE community. While the project is approaching the beta stage, it’s currently still in alpha, but from what I gather from friends who are using it, the alpha label might actually be like how Haiku is supposedly still alpha: intended more to scare people away for now than ana ctual descriptor of the state of the software.
Recently, KDE Linux enabled delta updates, possibly dramatically reducing the size of updates. Before delta updates were enabled, a system update would come in at 7GB, while with delta updates enabled, it’s gone down to 1-2GB. In addition, plasma-setup and plasma-login-manager have been added to KDE Linux, which are, respectively, a first-run setup assistant and KDE’s new login manager. This new login manager was forked from SDDM, and specifically targets Wayland, and comes with much deeper Plasma integration than SDDM. Note that SDDM will remain available for platforms that don’t use Wayland.
KDE Linux has also massively improved its hardware support, and the list is long; from scanners to fancy multi-button mice, from Android devices to professional audio devices, and much more. Performance has been improved as well, the boot manager menu will no longer be shown at every boot but only when needed, the wireless regulatory domain is now properly set and managed, and much, much more.
I’m keeping an eye on KDE Linux as a possible replacement for my Fedora KDE installations if Fedora ever loses the plot, even if it’s an immutable distribution relying on Flatpak. I’m a KDE user, and I want the latest and greatest the KDE community has to offer without going through an distributor.
Designing Effective Multi-Agent Architectures [Radar]
Papers on agentic and multi-agent systems (MAS) skyrocketed from 820 in 2024 to over 2,500 in 2025. This surge suggests that MAS are now a primary focus for the world’s top research labs and universities. Yet there is a disconnect: While research is booming, these systems still frequently fail when they hit production. Most teams instinctively try to fix these failures with better prompts. I use the term prompting fallacy to describe the belief that model and prompt tweaks alone can fix systemic coordination failures. You can’t prompt your way out of a system-level failure. If your agents are consistently underperforming, the issue likely isn’t the wording of the instruction; it’s the architecture of the collaboration.
Some coordination patterns stabilize systems. Others amplify failure. There is no universal best pattern, only patterns that fit the task and the way information needs to flow. The following provides a quick orientation to common collaboration patterns and when they tend to work well.
A linear, supervisor-based architecture is the most common starting point. One central agent plans, delegates work, and decides when the task is done. This setup can be effective for tightly scoped, sequential reasoning problems, such as financial analysis, compliance checks, or step-by-step decision pipelines. The strength of this pattern is control. The weakness is that every decision becomes a bottleneck. As soon as tasks become exploratory or creative, that same supervisor often becomes the point of failure. Latency increases. Context windows fill up. The system starts to overthink simple decisions because everything must pass through a single cognitive bottleneck.
In creative settings, a blackboard-style architecture with shared memory often works better. Instead of routing every thought through a manager, multiple specialists contribute partial solutions into a shared workspace. Other agents critique, refine, or build on those contributions. The system improves through accumulation rather than command. This mirrors how real creative teams work: Ideas are externalized, challenged, and iterated on collectively.
In peer-to-peer collaboration, agents exchange information directly without a central controller. This can work well for dynamic tasks like web navigation, exploration, or multistep discovery, where the goal is to cover ground rather than converge quickly. The risk is drift. Without some form of aggregation or validation, the system can fragment or loop. In practice, this peer-to-peer style often shows up as swarms.
Swarms work well in tasks like web research because the goal is coverage, not immediate convergence. Multiple agents explore sources in parallel, follow different leads, and surface findings independently. Redundancy is not a bug here; it’s a feature. Overlap helps validate signals, while divergence helps avoid blind spots. In creative writing, swarms are also effective. One agent proposes narrative directions, another experiments with tone, a third rewrites structure, and a fourth critiques clarity. Ideas collide, merge, and evolve. The system behaves less like a pipeline and more like a writers’ room.
The key risk with swarms is that they generate volume faster than they generate decisions, which can also lead to token burn in production. Consider strict exit conditions to prevent exploding costs. Also, without a later aggregation step, swarms can drift, loop, or overwhelm downstream components. That’s why they work best when paired with a concrete consolidation phase, not as a standalone pattern.
Considering all of this, many production systems benefit from hybrid patterns. A small number of fast specialists operate in parallel, while a slower, more deliberate agent periodically aggregates results, checks assumptions, and decides whether the system should continue or stop. This balances throughput with stability and keeps errors from compounding unchecked. This is why I teach this agents-as-teams mindset throughout AI Agents: The Definitive Guide, because most production failures are coordination problems long before they are model problems.
If you think more deeply about this team analogy, you quickly realize that creative teams don’t run like research labs. They don’t route every thought through a single manager. They iterate, discuss, critique, and converge. Research labs, on the other hand, don’t operate like creative studios. They prioritize reproducibility, controlled assumptions, and tightly scoped analysis. They benefit from structure, not freeform brainstorming loops. This is why it’s not a surprise if your systems fail; if you apply one default agent topology to every problem, the system can’t perform at its full potential. Most failures attributed to “bad prompts” are actually mismatches between task, coordination pattern, information flow, and model architecture.
Want Radar delivered straight to your inbox? Join us on Substack. Sign up here.
I design AI agents the same way I think about building a team. Each agent has a skill profile, strengths, blind spots, and an appropriate role. The system only works when these skills compound rather than interfere. A strong model placed in the wrong role behaves like a highly skilled hire assigned to the wrong job. It doesn’t merely underperform, it actively introduces friction. In my mental model, I categorize models by their architectural personality. The following is a high-level overview.
Decoder-only (the generators and planners): These are your standard LLMs like GPT or Claude. They are your talkers and coders, strong at drafting and step-by-step planning. Use them for execution: writing, coding, and producing candidate solutions.
Encoder-only (the analysts and investigators): Models like BERT and its modern representations such as ModernBERT and NeoBERT do not talk; they understand. They build contextual embeddings and are excellent at semantic search, filtering, and relevance scoring. Use them to rank, verify, and narrow the search space before your expensive generator even wakes up.
Mixture of experts (the specialists): MoE models behave like a set of internal specialist departments, where a router activates only a subset of experts per token. Use them when you need high capability but want to spend compute selectively.
Reasoning models (the thinkers): These are models optimized to spend more compute at test time. They pause, reflect, and check their own reasoning. They’re slower, but they often prevent expensive downstream mistakes.
So if you find yourself writing a 2,000-word prompt to make a fast generator act like a thinker, you’ve made a bad hire. You don’t need a better prompt; you need a different architecture and better system-level scaling.
Neural scaling1 is continuous and works well for models. As shown by classic scaling laws, increasing parameter count, data, and compute tends to result in predictable improvements in capability. This logic holds for single models. Collaborative scaling,2 as you need in agentic systems, is different. It’s conditional. It grows, plateaus, and sometimes collapses depending on communication costs, memory constraints, and how much context each agent actually sees. Adding agents doesn’t behave like adding parameters.
This is why topology matters. Chains, trees, and other coordination structures behave very differently under load. Some topologies stabilize reasoning as systems grow. Others amplify noise, latency, and error. These observations align with early work on collaborative scaling in multi-agent systems, which shows that performance does not increase monotonically with agent count.
Recent work from Google Research and Google DeepMind3 makes this distinction explicit. The difference between a system that improves with every loop and one that falls apart is not the number of agents or the size of the model. It’s how the system is wired. As the number of agents increases, so does the coordination tax: Communication overhead grows, latency spikes, and context windows blow up. In addition, when too many entities attempt to solve the same problem without clear structure, the system begins to interfere with itself. The coordination structure, the flow of information, and the topology of decision-making determine whether a system amplifies capability or amplifies error.
If your multi-agent system is failing, thinking like a model practitioner is no longer enough. Stop reaching for the prompt. The surge in agentic research has made one truth undeniable: The field is moving from prompt engineering to organizational systems. The next time you design your agentic system, ask yourself:
That said, the winners in the agentic era won’t be those with the smartest instructions but the ones who build the most resilient collaboration structures. Agentic performance is an architectural outcome, not a prompting problem.
Security updates for Monday [LWN.net]
Security updates have been issued by AlmaLinux (fontforge, kernel, and osbuild-composer), Debian (debian-security-support, sudo, wireshark, xrdp, and zabbix), Fedora (bind, bind-dyndb-ldap, chromium, k9s, libgit2, mingw-glib2, node-exporter, open-vm-tools, plantuml, xorgxrdp, and xrdp), Oracle (fence-agents, image-builder, kernel, libsoup3, and osbuild-composer), Red Hat (image-builder and osbuild-composer), Slackware (openssl and p11), SUSE (chromium, cockpit-354, cockpit-machines, cockpit-machines-346, cockpit-packages, cockpit-podman, cockpit-subscriptions, govulncheck-vulndb, kubernetes-old, libsnmp45-32bit, libxml2, localsearch, micropython, opencloud-server, python-django, python-djangorestframework, python-maturin, python311-Django, python311-wheel, python315, sqlite3, and xrdp), and Ubuntu (linux-fips, linux-aws-fips, linux-gcp-fips and python-pip).
The Scriptovision Super Micro Script video titler is almost a home computer [OSnews]
Cameron Kaiser comes in with another amazing article, this time diving into a unique video titler from Canada, released in 1985.
The Super Micro Script was one of several such machines this company made over its lifetime, a stylish self-contained box capable of emitting a 32×16 small or 10×4 large character layer with 64×32 block graphics in eight colours. It could even directly overlay its output over a composite video signal using a built-in genlock, one of the earliest such consumer units to do so. Crack this unit open, however, and you’ll find the show controlled by an off-the-shelf Motorola 6800-family microcontroller and a Motorola 6847 VDG video chip, making it a relative of contemporary 1980s home computers that sometimes used nearly exactly the same architecture.
More important than that, though, it has socketed EPROMs we can theoretically pull and substitute with our own — though we’ll have to figure out why the ROMs look like nonsense, and there’s also the small matter of this unit failing to generate a picture. Nevertheless, when we’re done, another homegrown Canadian computer will rise and shine. We’ll even add a bitbanged serial port and write a MAME emulation driver for it so we can develop software quickly … after we fix it first.
↫ Cameron Kaiser
I know I keep repeating myself, but Kaiser’s work on so many of these rare and unique systems is not only worthwhile and amazing to read, they’re also incredibly valuable from a historical and preservation perspective. This article in hand, anyone who stumbles upon one of these machines can get the most out of it, possibly fix one, and use it for fun projects. I’m incredibly grateful for this sort of work.
Video titles are such an interesting relic of the past. These days, adding titles to a video is child’s play, but back when computing power came at a massive premium and digital video was but a distant dream, using analog video to overlay text onto was the best way to go about it. Video titler makers did try to move the technology from professional settings to home settings, but from what I can gather, this move never really paid off.
Still, I’d love to buy one of these at some point and mess around with it. There’s some real cool retro effects you can create with these.
CodeSOD: Invalid Passport [The Daily WTF]
Gretchen wanted to, in development, disable password authentication. Just for a minute, while she was testing things. That's when she found this approach to handling authentication.
passport.authenticate('local', { session: true }, async (err, user) => {
if (err) {
res.send({ success: false, message: 'Error authenticating user.' })
} else if (!user) {
User.query()
.where({ username: req.body.username })
.first()
.then(targetUser => {
if (targetUser) {
const hash = User.hashPassword(
targetUser.password_salt,
req.body.password
)
if (hash === targetUser.password_hash) {
res.send({
success: false,
message: 'Incorrect username or password.',
})
} else {
res.send({
success: false,
message: 'Incorrect username or password.',
})
}
} else {
res.send({
success: false,
message: 'Incorrect username or password.',
})
}
})
.catch(err => {
res.send({ success: false, message: 'Internal server error' })
})
} else if (user.firstLogin) {
//......
}
})(req, res, next);
passport.authenticate invokes its callback after
attempting to authenticate. Now, normally, this is called as
middleware on a route defined on the webserver- that is to say, you
don't call it from within your application code, but as
part of your routing configuration. That's not the case here, where
this blob is inside of a controller.
That's weird, but let's just trace through this code. We attempt to authenticate. When the process completes, our callback function executes. If authentication failed, there's an error, so we'll send an error message. Then, if the user object isn't populated, we attempt to look up the user. If we find a user with that user name, we then hash their password and check if the hash matches. If it does, we send an error message. If it doesn't, we send an error message. If we didn't find the user, we send an error message. If anything goes wrong, we send an error message.
Wait a second, back up: if the user exists and their password matches, we send an error message?
I'll let Gretchen explain a bit more:
passport.authenticate returns an error if the authentication failed and a user object, if it succeeded. We check this immediately: if error is set, return an error message. But then, we check if the user does not exist (aka: the authentication failed).
Yes, the reason user would be null is because the
authentication failed. So the error would be set. So that entire
branch about validating the user won't happen: either the
authentication worked and we know who the user is, or it failed, in
which case we'd have an error. There's no reasonable world where
there's no error but also no user object.
So yes, if authentication failed, but you manually re-run the authentication and it succeeds for some reason, yeah, you probably should still return an error. But I don't know if it's "Incorrect username or password". It probably should be "Invalid reality, please restart the universe and see if the problem persists."
Spinnerette - issue 44 - 19 [Spinnerette]
![]()
New comic!
Today's News:
LLMs are Getting a Lot Better and Faster at Finding and Exploiting Zero-Days [Schneier on Security]
This is amazing:
Opus 4.6 is notably better at finding high-severity vulnerabilities than previous models and a sign of how quickly things are moving. Security teams have been automating vulnerability discovery for years, investing heavily in fuzzing infrastructure and custom harnesses to find bugs at scale. But what stood out in early testing is how quickly Opus 4.6 found vulnerabilities out of the box without task-specific tooling, custom scaffolding, or specialized prompting. Even more interesting is how it found them. Fuzzers work by throwing massive amounts of random inputs at code to see what breaks. Opus 4.6 reads and reasons about code the way a human researcher would—looking at past fixes to find similar bugs that weren’t addressed, spotting patterns that tend to cause problems, or understanding a piece of logic well enough to know exactly what input would break it. When we pointed Opus 4.6 at some of the most well-tested codebases (projects that have had fuzzers running against them for years, accumulating millions of hours of CPU time), Opus 4.6 found high-severity vulnerabilities, some that had gone undetected for decades.
The details of how Claude Opus 4.6 found these zero-days is the interesting part—read the whole blog post.
News article.
Grrl Power #1433 – A handful of complaints [Grrl Power]
For this page, I did google “how long do boobs take” or… something along those lines. Obviously the answer varies from person to person, and in a the cruelest twist of the knife, the age that they actually start growing varies by years, a fact that is no doubt responsible for all sorts of insecurities. If you’re the first girl in your class, I assume all the other girls get envious while you turn into a bundle of self-consciousness, and if you’re the last girl, I can only imagine the derisive remarks from the popular enboobened mean girls and boys who are jerk-butts.
Sydney is clearly trying to convince herself that big boobs are dumb. She knows the holo-boobs are temporary, and while she also knows that Frix could probably medical her up a permanent enhancement, like I said, she doesn’t particularly suffer from A-cup angst. She might be able to talk herself around to a B-cup, but among all the other reasons not to do it, she’s a very public figure and she probably wouldn’t be excited to read all the comments online about it.
All that said, Sydney’s next question will be, “So do the showers have holo-projectors in them?” She already knows they have full-length steam-free mirrors, much to her horror. Fortunately they’re optional. They’re actually part of the holo system, which does, in fact, mean there are scanners of some sort in the showers. Because Cora and crew are perverts… by our Terran and especially American standards. No scanners in the toilets though. They’re space perverts, not German. But while Sydney’s not thrilled with watching herself in a full-length mirror while she’s sudsing her gunge, that doesn’t mean she doesn’t know how to have fun with holo-jumblies in the shower. Especially if holo-system can touch up any areas she’s not fully happy with.
Hey, quick question. Is the web page slow for you guys? I can’t figure it out, because on my work computer, and the laptop I used when I was visiting my parents’ house (which I now use in our game room when I’m posting the comic some nights) the web page is unbelievably slow. Like, 20-30 seconds to refresh the page. When I’m posting the comic, I keep getting messages from WordPress that I’ve lost connection to the server and saving is disabled, and that pops on and off and I have to wait to get the new post updated. My computer is connected to the router with ethernet, and the laptop is on wi-fi. But here’s the thing – If I check the page on my phone using the same wi-fi connection, the page comes right up. Same thing on my wife’s phone. And when I checked the page on my phone using some business’s wi-fi, it came right up. I’ve tried Firefox and chrome on my work machine and laptop, and I can’t figure out what the heck is going on. Maybe it’s some plugin I’m using since both machines are running basically the same configuration, but I couldn’t guess which one might be causing it, since I’m not running a “make your own personal website dog-ass slow” plugin, but I thought I’d see if the page was really slow for anyone else.
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.
Pluralistic: The Epstein class and collapse porn (09 Feb 2026) [Pluralistic: Daily links from Cory Doctorow]
->->->->->->->->->->->->->->->->->->->->->->->->->->->->->
Top Sources: None -->

It's hard to talk about the Epstein class without thinking about "The Economy" – "The Economy" in the sense of a kind of mystical, free-floating entity whose health or sickness determines the outcomes for all the rest of us, whom we must make sacrifices to if we are to prosper.
As nebulous as "The Economy" is as an entity, there's an economic priesthood that claims it can measure and even alter the course of the economy using complex mathematics. We probably won't ever understand their methods, but we can at least follow an indicator or two, such as changes to GDP, an aggregated statistic that is deceptively precise, given that it subsumes any number of estimates, qualitative judgments and wild-ass guesses, which are all disguised behind an official statistic that is often published to three decimal places.
There's plenty to criticize about GDP: a healthy GDP doesn't necessarily mean that the average worker is better off. When your rent goes up, so does GDP. Same with your salary going down (provided this results in more spending by your boss). GDP isn't really a measure of the health of "The Economy" – it's a measure of the parts of "The Economy" that make rich people (that is, the Epstein class) better off.
But what if there was a way to make money from calamitous collapses in GDP? What if the wealthy didn't just win when "number go up," but also when "number eat shit?"
The latest batch of Epstein emails includes a particularly ghoulish exchange between Epstein and his business partner, the anti-democracy activist and billionaire Peter Thiel:
https://www.justice.gov/epstein/files/DataSet%209/EFTA00824843.pdf
The email is dated 26 Jun 2016, right after Brexit, and in it, Epstein writes:
return to tribalism . counter to globalization. amazing new alliances. you and I both agreed zero interest rates were too high, as i said in your office. finding things on their way to collapse , was much easier than finding the next bargain
This is a perfect example of what Naomi Klein calls "disaster capitalism." It's been the norm since the crash of 2008, when bankers were made whole through public bailouts and mortgage holders were evicted by the millions to "foam the runway" for the banks:
The crash of 2008 turned a lot of people's homes – their only substantial possessions – into "distressed assets" that were purchased at fire-sale prices by Wall Street investors, who turned around and rented those homes out to people who were now priced out of the housing market at rents that kept them too poor to ever afford a home, under slum conditions that crawled with insects and black mold:
https://pluralistic.net/2024/10/01/housing-is-a-human-right/
Note here that economic collapse helps the Epstein class only if society has no social safety net. If Obama had supported homeowners instead of banks, there wouldn't have been a foreclosure crisis and thus there wouldn't have been any "distressed assets" flooding the market.
So it's no surprise that the Epstein class are also obsessed with austerity. Peter Mandelson (British Labour's "Prince of Darkness") is a close ally of Epstein's, and also a key figure in the crushing austerity agenda of Blair, Brown and Starmer. He's a machine for turning Parliamentary majorities into distressed assets at scale.
Same for Steve Bannon, another close Epstein ally, who boasts about his alliances with far-right figures who exalt the capital class and call for deregulation and the elimination of public services: Le Pen, Salvini, Farage. Combine that with Epstein and Thiel's gloating about "finding things on their way to collapse…much easier than finding the next bargain," and it starts to feel like these guys are even happier with "number eat shit" than they are with "number go up."
Trump is the undisputed king of the Epstein class, and he seems determined to drive "The Economy" over a cliff. Take his tariff program, modeled on the McKinley tariffs of 1890, which led to the Panic of 1893, a financial crisis that saw one in four American workers forced into unemployment and 15,000 businesses into bankruptcy (that's a lot of distressed assets!):
https://en.wikipedia.org/wiki/Panic_of_1893
Then there's Trump's mass deportation program, which will force lots of businesses (farms, restaurants, etc) into bankruptcy, creating another massive pool of distressed assets. Trump's given ICE $75b, while the DoJ Antitrust Division and FTC (which protect Americans from corporate scams) have seen their budgets take a real-terms cut. The majority of DoJ lawyers and FBI agents are working on immigration cases (against workers, not employers, mind!). The Antitrust Division has $275m to fight all of America's corporate crime:
https://www.organizedmoney.fm/p/white-collar-crime-enforcement-in
I'm not saying that Trump is trying to induce another massive economic crash. I'm saying, rather, that within his coalition there is a substantial bloc of powerful, wealthy people who are on the hunt for "things on their way to collapse," and who are doubtless maneuvering to frustrate other Trump coalition members who are solely committed to "number go up."
Even the collapse of crypto creates lots of opportunities to "buy the dip." Not the dip in crypto (crypto's going to zero), but the dip in all the real things people bought with real money they got by borrowing against their shitcoins.
The thousand-plus children that Epstein lured to his island rape-camp were often "distressed assets" in their own right: Julie K Brown's groundbreaking reporting on Epstein for the Miami Herald described how he sought out children whose parents were poor, or neglectful, or both, on the grounds that those children would be "on their way to collapse," too.
The Epstein class's commitment to destroying "The Economy" makes sense when you understand that trashing civilization is "much easier than finding the next bargain." They want to buy the dip, so they're creating the dip.
They don't need the whole number to go up, just theirs. They know that inclusive economies are more prosperous for society as a whole, but it makes criminals and predators worse off. The New Deal kicked off a period of American economic growth never seen before or since, but the rich despised it, because a prosperous economy is one in which it gets harder and harder to find "things on their way to collapse," and thus nearly impossible to "find[] the next bargain."
(Image: Gage Skidmore, CC BY-SA 3.0)

Outlier and collapse: The enron corpus and foundation model training data https://journals.sagepub.com/doi/10.1177/20539517261421474
You're Doing It Wrong: Notes on Criticism and Technology Hype https://peoples-things.ghost.io/youre-doing-it-wrong-notes-on-criticism-and-technology-hype/
How Big Cloud becomes Bigger: Scrutinizing Google, Microsoft, and Amazon's investments https://papers.ssrn.com/sol3/papers.cfm?abstract_id=5377426
Go Left, Young Writers! https://jacobin.com/2026/02/new-masses-proletarian-literature-wright-gold/
#25yrsago Yours is a very bad hotel https://www.slideshare.net/slideshow/yours-is-a-very-bad-hotel/34583
#20yrsago Kids refuse to sell candy after completing health unit https://web.archive.org/web/20060223010123/http://www.guardian.co.uk/worldlatest/story/0,,-5600588,00.html
#20yrsago Disneyland model recreates Yippie invasion of 1970 https://web.archive.org/web/20051228122604/http://dannysland.blogspot.com/2005/12/great-moments-in-disneyland-history.html
#20yrsago Canadian Red Cross wastes its money harassing video game makers https://web.archive.org/web/20060221020835/https://www.igniq.com/2006/02/canadian-red-cross-wants-its-logo-out.html
#20yrsago How Yahoo/AOL’s email tax will hurt free speech https://web.archive.org/web/20060213175705/https://www.eff.org/deeplinks/archives/004398.php#004398
#20yrsago Adbusters and the Economist have the same covers https://pieratt.com/odds/adbusters_vs_theeconomist.jpg
#20yrsago Head of British Vid Assoc: Piracy doesn’t hurt DVD sales http://news.bbc.co.uk/1/hi/entertainment/4691228.stm#6
#20yrsago Countries around the world rebelling against extreme copyright https://web.archive.org/web/20060629232414/http://www.michaelgeist.ca/index.php?option=com_content&task=view&id=1095
#20yrsago Web 1.0 logo-mosaic https://web.archive.org/web/20060506074530/https://www.complexify.com/buttons/
#15yrsago Is it legal to print Settlers of Catan tiles on a 3D printer? https://web.archive.org/web/20110131102845/https://publicknowledge.org/blog/3d-printing-settlers-catan-probably-not-illeg
#15yrsago UK Tories get majority of funding from bankers https://www.theguardian.com/politics/2011/feb/08/tory-funds-half-city-banks-financial-sector
#15yrsago Colorado Springs school bans kid who takes THC lozenges for neuro condition from attending because of “internal possession” https://www.coloradoindependent.com/2011/02/07/teens-medical-marijuana-fight-escalates-as-school-says-he-cannot-come-back-to-class-after-going-home-for-medicine/
#15yrsago Hamster-powered strandbeest walker https://crabfuartworks.blogspot.com/2011/02/hamster-powered-walker.html
#15yrsago Daytripper: wrenching existential graphic novel https://memex.craphound.com/2011/02/08/daytripper-wrenching-existential-graphic-novel/
#15yrsago Pactuator: a mechanical, hand-cranked Pac-Man https://upnotnorth.net/projects/pac-machina/pactuator/
#15yrsago Floppy drive organ plays toccata www.youtube.com/watch?v=dmoDLyiQYKw
#15yrsago Mike Mignola talks setting and architecture https://www.bldgblog.com/2011/02/ruin-space-and-shadow-an-interview-with-mike-mignola/
#15yrsago BBC to delete 172 unarchived sites, geek saves them for $3.99 https://web.archive.org/web/20110210152012/https://bengoldacre.posterous.com/nerd-saves-entire-bbc-archive-for-399-you-can
#10yrsago Australia, the driest country on Earth, eliminates basic climate science research https://www.scientificamerican.com/article/australia-cuts-110-climate-scientist-jobs/
#10yrsago Copyright trolls who claimed to own “Happy Birthday” will pay $14M to their “customers” https://web.archive.org/web/20160210091717/http://consumerist.com/2016/02/09/happy-birthday-song-settlement-to-pay-out-14-million-to-people-who-paid-to-use-song/
#10yrsago Eviction epidemic: the racialized, weaponized homes of America’s cities https://www.newyorker.com/magazine/2016/02/08/forced-out
#10yrsago Association of German judges slams US-EU trade deal for its special corporate courts https://www.techdirt.com/2016/02/09/top-german-judges-tear-to-shreds-eus-proposed-tafta-ttip-investment-court-system/
#10yrsago A digital, 3D printed sundial whose precise holes cast a shadow displaying the current time https://www.mojoptix.com/fr/2015/10/12/ep-001-cadran-solaire-numerique/
#10yrsago Jughead is asexual https://www.themarysue.com/jughead-asexuality/
#10yrsago Vtech, having leaked 6.3m kids’ data, has a new EULA disclaiming responsibility for the next leak https://web.archive.org/web/20160210092704/https://motherboard.vice.com/read/hacked-toy-company-vtech-tos-now-says-its-not-liable-for-hacks
#10yrsago How America’s presidents started cashing out https://web.archive.org/web/20160208210036/https://theintercept.com/2016/02/08/taxpayers-give-big-pensions-to-ex-presidents-precisely-so-they-dont-have-to-sell-out/
#10yrsago Bill criminalizing anal and oral sex passes Michigan Senate https://www.thenewcivilrightsmovement.com/2016/02/michigan_senate_passes_bill_saying_sodomy_is_a_felony/
#10yrsago Hacker promises dump of data from 20K FBI and 9K DHS employees https://web.archive.org/web/20160208214013/https://motherboard.vice.com/read/hacker-plans-to-dump-alleged-details-of-20000-fbi-9000-dhs-employees
#10yrsago Blooks: functional objects disguised as books https://www.theguardian.com/books/2016/jan/30/blook-madness-inside-the-world-of-bogus-books
#10yrsago Indian regulator stands up for net neutrality, bans Facebook’s walled garden https://arstechnica.com/tech-policy/2016/02/facebooks-free-internet-app-banned-by-indias-new-net-neutrality-rule/
#10yrsago British spies want to be able to suck data out of US Internet giants https://www.washingtonpost.com/world/national-security/the-british-want-to-come-to-america–with-wiretap-orders-and-search-warrants/2016/02/04/b351ce9e-ca86-11e5-a7b2-5a2f824b02c9_story.html
#5yrsago Fleet Street calls out schtum Tories https://pluralistic.net/2021/02/09/permanent-record/#foia-uk
#5yrsago The ECB should forgive the debt it owes itself https://pluralistic.net/2021/02/09/permanent-record/#ecb
#5yrsago Favicons as undeletable tracking beacons https://pluralistic.net/2021/02/09/permanent-record/#supercookies
#5yrsago Snowden's young adult memoir https://pluralistic.net/2021/02/09/permanent-record/#ya-snowden

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
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 (Creative Nonfiction podcast)
https://brendanomeara.com/episode-507-enshittification-author-cory-doctorow-believes-in-a-new-good-internet/
"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 ( words today, 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
Process thinking [Seth's Blog]
Sure, you made it work this time, but will it work next time?
Can you teach the method to someone else?
Do you have a protocol for what to do when it doesn’t work?
How can someone else contribute to your process to make it better?
The Campaign: Running, p04 [Ctrl+Alt+Del Comic]
The post The Campaign: Running, p04 appeared first on Ctrl+Alt+Del Comic.
New Comic: Home Azone
All laws are local [Cory Doctorow's craphound.com]

This week on my podcast, I read All laws are local a recent post from my Pluralistic.net blog, about the ephemerality of our seeming eternal verities.
In other words, things that seem eternal and innate to the human condition to you are apt to have been invented ten minutes before you started to notice the world around you and might seem utterly alien to your children. As Douglas Adams put it:Anything that is in the world when you’re born is normal and ordinary and is just a natural part of the way the world works. Anything that’s invented between when you’re fifteen and thirty-five is new and exciting and revolutionary and you can probably get a career in it. Anything invented after you’re thirty-five is against the natural order of things.
Girl Genius for Monday, February 09, 2026 [Girl Genius]
The Girl Genius comic for Monday, February 09, 2026 has been posted.
Patryk Cisek: Bitwarden Secrets Manager With Ansible [Planet Debian]

If you’d like to have a simple solution for managing all the secrets you’re using in your Ansible Playbooks, keep reading on. Bitwarden’s Secrets Manager provides an Ansible collection, which makes it very easy to use this particular Secrets Manager in Ansible Playbooks. I’ll show you how to set up a free Secrets Manager account in Bitwarden. Then I’ll walk you through the setup in an example Ansible Playbook.
I’ve also recorded a video version of this article. If you prefer a video, you can find it here.
Monsters of Ohio: Done! [Whatever]


And what is Monsters of Ohio? Why, it’s my 20th(!) novel.
What’s it about? Well, if the title is to be trusted, it’s about monsters! In Ohio!
How would I describe it? Two words: “Cozy Cronenberg.”
When can you have it? November this year.
I like it. I hope you’ll like it too.
More to come about this. Stay tuned.
— JS
Louis-Philippe Véronneau: Montreal Subway Foot Traffic Data, 2025 edition [Planet Debian]

Another year of data from Société de Transport de Montréal, Montreal's transit agency!
A few highlights this year:
Although the Saint-Michel station closed for emergency repairs in November 2024, traffic never bounced back to its pre-closure levels and is still stuck somewhere around 2022 Q2 levels. I wonder if this could be caused by the roadwork on Jean-Talon for the new Blue Line stations making it harder for folks in Montreal-Nord to reach the station by bus.
The effects of the opening of the Royalmount shopping center has had a durable impact on the traffic at the De la Savane station. I reported on this last year, but it seems this wasn't just a fad.
With the completion of the Deux-Montagnes branch of the Réseau express métropolitain (REM, a light-rail, above the surface transit network still in construction), the transfer stations to the Montreal subway have seen major traffic increases. The Édouard-Montpetit station has nearly reached its previous all-time record of 2015 and the McGill station has recovered from the general slump all the other stations have had in 2025.
The Assomption station, which used to have one of the lowest number of riders of the subway network, has had a tremendous growth in the past few years. This is mostly explained by the many high-rise projects that were built around the station since the end of the COVID-19 pandemic.
Although still affected by a very high seasonality, the Jean-Drapeau station broke its previous record of 2019, a testament of the continued attraction power of the various summer festivals taking place on the Sainte-Hélène et Notre-Dame islands.
More generally, it seems the Montreal subway has had a pretty bad year. Traffic had been slowly climbing back since the COVID-19 pandemic, but this is the first year since 2020 such a sharp decline can be witnessed. Even major stations like Jean-Talon or Lionel-Groulx are on a downward trend and it is pretty worrisome.
As for causes, a few things come to mind. First of all, as the number of Montrealers commuting to work by bike continues to rise1, a modal shift from public transit to active mobility is to be expected. As local experts put it, this is not uncommon and has been seen in other cities before.
Another important factor that certainly turned people away from the subway this year has been the impacts of the continued housing crisis in Montreal. As more and more people get kicked out of their apartments, many have been seeking refuge in the subway stations to find shelter.
Sadly, this also brought a unprecedented wave of incivilities. As riders' sense of security sharply decreased, the STM eventually resorted to banning unhoused people from sheltering in the subway. This decision did bring back some peace to the network, but one can posit damage had already been done and many casual riders are still avoiding the subway for this reason.
Finally, the weekslong STM worker's strike in Q4 had an important impact on general traffic, as it severely reduced the opening hours of the subway. As for the previous item, once people find alternative ways to get around, it's always harder to bring them back.
Hopefully, my 2026 report will be a more cheerful one...
By clicking on a subway station, you'll be redirected to a graph of the station's foot traffic.
The subway map displayed on this page, the original dataset and my modified dataset are licenced under CCO 1.0: they are in the public domain.
The R code I wrote is licensed under the GPLv3+. It has not changed in a few years.
Mostly thanks to major improvements to the cycling network and the BIXI bikesharing program. ↩
Heard an interview with Kamala Harris. She said they had 109 days to tell them who she is. Right there she highlighted the huge mistake the Dems make and continue to make. Ever since the advent of Twitter, campaigns have been every day of every year. The Dems have been AWOL. We never should have gotten to the summer of 2024 where people have no idea of who the freaking vice president is. When are they going to see how swept under the old ways of relating to voters are. The people are the government of the United States. Get behind us and let us work our magic.
The 6.19 kernel has been released [LWN.net]
Linus has released
the 6.19 kernel. "No big surprises anywhere last week, so
6.19 is out as expected - just as the US prepares to come to a
complete standstill later today watching the latest batch of
televised commercials.
"
The most significant changes in 6.19 include initial support for Intel's linear address-space separation feature, support for Arm Memory system resource Partitioning And Monitoring, the listns() system call, a reworked restartable-sequences implementation, support for large block sizes in the ext4 filesystem, some networking changes for improved memory safety, the live update orchestrator, and much more. See the LWN merge-window summaries (part 1, part 2) and the KernelNewbies 6.19 page for details.
Why E cores make Apple silicon fast [OSnews]
If you use an Apple silicon Mac I’m sure you have been impressed by its performance. Whether you’re working with images, audio, video or building software, we’ve enjoyed a new turn of speed since the M1 on day 1. While most attribute this to their Performance cores, as it goes with the name, much is in truth the result of the unsung Efficiency cores, and how they keep background tasks where they should be.
↫ Howard Oakley
While both Intel and AMD are making gains on Apple, there’s simply no denying the reality that Apple’s M series of chips are leading the pack in mobile computing (the picture is different in desktops). There are probably hundreds of reasons why Apple has had this lead for so many years now, but the way macOS distributes background and foreground tasks across the two types of cores in M series chips is an important one.
Still, I wonder how the various other processors that use power and efficiency cores fare in this regard. You’d think they would provide a similar level of benefit, but I wouldn’t be surprised if the way Windows or Linux handles such cores and the distribution of tasks is simply not as optimised or strict as it is in macOS. Apple often vastly overstates the benefits of its “vertical integration”, but I think the tight coupling between macOS and Apple’s own processors is definitely a case where they’re being entirely truthful.
Adventures in Guix packaging [OSnews]
We talked about Nemin’s first impressions of the Guix System as someone coming from a Nix environment, but today they’ve got a follow-up article diving into the experience of creating new packages for Guix.
I spent about a week packaging WezTerm and learning the ropes of being a Guix contributor along the way.
During the packaging process I stumble many times, only to stand back up and figure out a solution. I also explain some of my complaints about the peculiarities of the process, but also provide plenty of praise about of how much the system tries to enable you to do your job. Finally, I also touch on how positive the experience of the code review was.
↫ Nemin’s blog
These are the kinds of content a rather niche system like Guix needs. Guix isn’t exactly one of the popular picks out there, so having level-headed, honest, but well-written introductions to its core concepts and user experience, written by a third party is going to do wonders for people interested in trying it out.
The tech press did their part in giving control of the public internet to the people who are selling us out.
If I ran Firefox [Scripting News]
if i ran firefox, this is what i would say wrt AI in firefox in 2026.
sincerely,
the developers of firefox
Colin Watson: Free software activity in January 2026 [Planet Debian]

About 80% of my Debian contributions this month were sponsored by Freexian, as well as one direct donation via GitHub Sponsors (thanks!). If you appreciate this sort of work and are at a company that uses Debian, have a look to see whether you can pay for any of Freexian‘s services; as well as the direct benefits, that revenue stream helps to keep Debian development sustainable for me and several other lovely people.
You can also support my work directly via Liberapay or GitHub Sponsors.
New upstream versions:
pkg_resources)pkg_resources)pkg_resources)Fixes for Python 3.14:
Fixes for pytest 9:
Porting away from the deprecated
pkg_resources:
Other build/test failures:
global
logged_msgs is unused: name is never assigned in scope
(NMU)I investigated several more build failures and suggested removing the packages in question:
Other bugs:
Alejandro Colomar reported that man(1) ignored the
MANWIDTH environment variable in some circumstances. I
investigated this and
fixed it upstream.
I contributed an
ubuntu-dev-tools patch to stop recommending
sudo.
I added forky support to the images used in Salsa CI pipelines.
I began working on getting a release candidate of groff 1.24.0 into experimental, though haven’t finished that yet.
I worked on some lower-priority security updates for OpenSSH.
Dirk Eddelbuettel: chronometre: A new package (pair) demo for R and Python [Planet Debian]

Both R and Python make it reasonably easy to work with compiled extensions. But how to access objects in one environment from the other and share state or (non-trivial) objects remains trickier. Recently (and while r-forge was ‘resting’ so we opened GitHub Discussions) a question was asked concerning R and Python object pointer exchange.
This lead to a pretty decent discussion including arrow interchange demos (pretty ideal if dealing with data.frame-alike objects), but once the focus is on more ‘library-specific’ objects from a given (C or C++, say) library it is less clear what to do, or how involved it may get.
R has external pointers, and these make it feasible to
instantiate the same object in Python. To demonstrate, I
created a pair of (minimal) packages wrapping a lovely (small)
class from the excellent spdlog library by Gabi Melman, and more specifically
in an adapted-for-R version (to avoid some R CMD check
nags) in my RcppSpdlog
package. It is essentially a nicer/fancier C++ version of the
tic() and tic() timing scheme. When an
object is instantiated, it ‘starts the clock’ and when
we accessing it later it prints the time elapsed in microsecond
resolution. In Modern C++ this takes little more than keeping an
internal chrono object.
Which makes for a nice, small, yet specific object to pass to Python. So the R side of the package pair instantiates such an object, and accesses its address. For different reasons, sending a ‘raw’ pointer across does not work so well, but a string with the address printed works fabulously (and is a paradigm used around other packages so we did not invent this). Over on the Python side of the package pair, we then take this string representation and pass it to a little bit of pybind11 code to instantiate a new object. This can of course also expose functionality such as the ‘show time elapsed’ feature, either formatted or just numerically, of interest here.
And that is all that there is! Now this can be done from R as
well thanks to reticulate as the
demo() (also shown on the package README.md)
shows:
> library(chronometre)
> demo("chronometre", ask=FALSE)
demo(chronometre)
---- ~~~~~~~~~~~
> #!/usr/bin/env r
>
> stopifnot("Demo requires 'reticulate'" = requireNamespace("reticulate", quietly=TRUE))
> stopifnot("Demo requires 'RcppSpdlog'" = requireNamespace("RcppSpdlog", quietly=TRUE))
> stopifnot("Demo requires 'xptr'" = requireNamespace("xptr", quietly=TRUE))
> library(reticulate)
> ## reticulate and Python in general these days really want a venv so we will use one,
> ## the default value is a location used locally; if needed create one
> ## check for existing virtualenv to use, or else set one up
> venvdir <- Sys.getenv("CHRONOMETRE_VENV", "/opt/venv/chronometre")
> if (dir.exists(venvdir)) {
+ > use_virtualenv(venvdir, required = TRUE)
+ > } else {
+ > ## create a virtual environment, but make it temporary
+ > Sys.setenv(RETICULATE_VIRTUALENV_ROOT=tempdir())
+ > virtualenv_create("r-reticulate-env")
+ > virtualenv_install("r-reticulate-env", packages = c("chronometre"))
+ > use_virtualenv("r-reticulate-env", required = TRUE)
+ > }
> sw <- RcppSpdlog::get_stopwatch() # we use a C++ struct as example
> Sys.sleep(0.5) # imagine doing some code here
> print(sw) # stopwatch shows elapsed time
0.501220
> xptr::is_xptr(sw) # this is an external pointer in R
[1] TRUE
> xptr::xptr_address(sw) # get address, format is "0x...."
[1] "0x58adb5918510"
> sw2 <- xptr::new_xptr(xptr::xptr_address(sw)) # cloned (!!) but unclassed
> attr(sw2, "class") <- c("stopwatch", "externalptr") # class it .. and then use it!
> print(sw2) # `xptr` allows us close and use
0.501597
> sw3 <- ch$Stopwatch( xptr::xptr_address(sw) ) # new Python object via string ctor
> print(sw3$elapsed()) # shows output via Python I/O
datetime.timedelta(microseconds=502013)
> cat(sw3$count(), "\n") # shows double
0.502657
> print(sw) # object still works in R
0.502721
>
The same object, instantiated in R is used in Python and thereafter again in R. While this object here is minimal in features, the concept of passing a pointer is universal. We could use it for any interesting object that R can access and Python too can instantiate. Obviously, there be dragons as we pass pointers so one may want to ascertain that headers from corresponding compatible versions are used etc but principle is unaffected and should just work.
Both parts of this pair of packages are now at the corresponding repositories: PyPI and CRAN. As I commonly do here on package (change) announcements, I include the (minimal so far) set of high-level changes for the R package.
Changes in version 0.0.2 (2026-02-05)
Removed replaced unconditional virtualenv use in demo given preceding conditional block
Updated README.md with badges and an updated demo
Changes in version 0.0.1 (2026-01-25)
- Initial version and CRAN upload
Questions, suggestions, bug reports, … are welcome at either the (now awoken from the R-Forge slumber) Rcpp mailing list or the newer Rcpp Discussions.
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.
Vincent Bernat: Fragments of an adolescent web [Planet Debian]
I have unearthed a few old articles typed during my adolescence, between 1996 and 1998. Unremarkable at the time, these pages now compose, three decades later, the chronicle of a vanished era.1
The word “blog” does not exist yet. Wikipedia remains to come. Google has not been born. AltaVista reigns over searches, while already struggling to embrace the nascent immensity of the web2. To meet someone, you had to agree in advance and prepare your route on paper maps. 🗺️
The web is taking off. The CSS specification has just emerged, HTML tables still serve for page layout. Cookies and advertising banners are making their appearance. Pages are adorned with music and videos, forcing browsers to arm themselves with plugins. Netscape Navigator sits on 86% of the territory, but Windows 95 now bundles Internet Explorer to quickly catch up. Facing this offensive, Netscape opensource its browser.
France falls behind. Outside universities, Internet access remains expensive and laborious. Minitel still reigns, offering phone directory, train tickets, remote shopping. This was not yet possible with the Internet: buying a CD online was a pipe dream. Encryption suffers from inappropriate regulation: the DES algorithm is capped at 40 bits and cracked in a few seconds.
These pages bear the trace of the web’s adolescence. Thirty years have passed. The same battles continue: data selling, advertising, monopolies.
Most articles linked here are not translated from French to English. ↩︎
I recently noticed that Google no longer fully indexes my blog. For example, it is no longer possible to find the article on lanĉo. I assume this is a consequence of the explosion of AI-generated content or a change in priorities for Google. ↩︎
Conspiracy theories [RevK®'s ramblings]
Someone just asked me...
"can anyone name a conspiracy theory that has not come true?"
Well...
Santa Claus.
I mean seriously, it is THE conspiracy theory - millions of people all working together to perpetrate it at every level - parents, relatives, companies, film makers, even US Defence Santa tracker. It is a massive, huge, co-ordinated, conspiracy way beyond what flat Earther’s could imagine. It really is...
It is almost as bad as most religions
Easter bunny and tooth fairy do not get close.
So... My kids, and even more so my grandkids... Santa has been sold as make believe, fun, let's play a game.
Never sold as reality, always a "pretend" and "fun".
I feel massively happier about that approach than selling as "real" until you get older.
It also causes issues with trust, I think.
If there can be a massive conspiracy, as there really is, of "Santa Claus", what, and whom, can you trust.
And religion is another one - sell as "some people have these ideas and it reassures them, but think for yourself", and "there are some things nobody knows for sure, and you can consider". Religion can be a comfort for many. I am happy with that as a "comfort", sort of.
We can always have "fun" and "fantasy". Indeed, it should be encouraged, but as such.
But, I really understand why some people come to religion.
I have really not.
I had a proper CoE background (school and parents), but quickly worked out Pascal's wager, and then realised that only worked with one specific "God or not" and so not a thing. No way to do with many Gods.
I understand people find comfort in such things, and why they want to feel comfort in such things.
I prefer to feel my own morality and my own judgement or my own actions, than something divine over me. I am responsible for what I do.
Most attempts of humor in replies to twitter-like posts are
of the "you had to be there" variety, as in it might have made
sense when you typed it, but I don't get it. And it's even worse, I
am irony-deprived,
I often don't get jokes, something about how my mind works. But
today I actually got a reply
on Bluesky that's worth passing on. I posted a picture
of a dialog box with one of my snarky slogans. Dan Berlyoung
thought the dialog was interesting. "I kinda love that this is in a
dialog box. One has to wonder what action on a computer would
elicit this response." Man that's a great question. And that btw is
what art is about. You put something in a dialog because that's the
way it was presented by the software. I could have selected the
text and put that into the tweet. But nahh, this is more
interesting. And to answer the question Dan asks, in this specific
case, the action that elicited this response was that I chose a
placeholder command from a context menu in a piece of software
that's a construction site, in other words it could have been any
of the dozens of snarky slogans. Kind of reminds me of a piece
I wrote a long time ago where bees who were about to die reflect on
the meaning of existence. Turns out it meant a lot less than one
might think.
Highly recommend the HBO two-part interview with and profile of Mel Brooks who was 99 years old when the interviews were done. Includes quotes from lots of famous comedians. And the philosophy of comedy as art. So many things to say. Why is physical humor the funniest? And the funniest of all the excerpts was the farting scene in Blazing Saddles. Humans are so damned simple.
Thorsten Alteholz: My Debian Activities in January 2026 [Planet Debian]
This was my hundred-thirty-ninth month that I did some work for the Debian LTS initiative, started by Raphael Hertzog at Freexian (as the LTS- and ELTS-teams have been merged now, there is only one paragraph left for both activities).
During my allocated time I uploaded or worked on:
I also attended the monthly LTS/ELTS meeting. While working on updates, I stumbled upon packages, whose CVEs have been postponed for a long time and their CVSS score was rather high. I wonder whether one should pay more attention to postponed issues, otherwise one could have already marked them as ignored.
Unfortunately I didn’t found any time to work on this topic.
This month I worked on unifying packaging on Debian and Ubuntu. This makes it easier to work on those packages independent of the used platform.
This work is generously funded by Fre(i)e Software GmbH!
This month I uploaded a new upstream version or a bugfix version of:
Unfortunately I didn’t found any time to work on this topic.
Unfortunately I didn’t found any time to work on this topic.
This month I uploaded a new upstream version or a bugfix version of:
Unfortunately this month I was distracted from my normal Debian work by other unpleasant things, so that the paragraphs above are mostly empty. I now have to think about how many of my spare time I am able to dedicate to Debian in the future.
Unrestricted free choice is a myth.
There are always boundaries and trade-offs.
But being fully stuck is also a myth. We might not like the trade offs, but we also have a choice.
Since we always live in between, the work isn’t waiting until we have free agency. The work is deciding and acting when we think that we don’t.
BTW, this is what Scripting News in WordPress looks like. I really like it. Just writing. And a modern 2020s blogroll. Room to add more features without too much clutter. The beginning of an upgraded web?
My favorite recent snarky slogan. "Just because you're offended doesn't mean you're right." I know so many people who should take that to heart. Acting on being offended is no longer a luxury you can afford. Find ways to work with others, everything depends on it.
The reboot that news needs [Scripting News]
I want news to work.
I would love to see a standard model for community news orgs, starting with the city of Washington DC, with some of the reporters who were recently laid off.
But the community would be very much a part of this. No more news without community involvement. Let's make it community published. How does that sound?
And bloggers would be part of the story flow, we're amateurs so we work for free, and we take an oath. We bring other expertise. We can tell you when the tech companies are lying, for example. Professionals can still do both-sides news. Bloggers will follow all the integrity requirements of journalists, but then so will the journalists (let's not pretend all journalists even try to play by the rules, btw).
There will be no paywall, instead there's a toll system, like the EZ-Pass we have on roads in the US. How how we pay to ride the subway. We pay per article read. A user can buy a subscription, if they think it would be a better value than paying per article. No more paywalls that say "if you want to read this article you have to subscribe." That would be an essential part of the deal for readers.
No ads. Let's get rid of them. They suck. Now there's incentive to put the punchline near the end. Tell the story and sign off.
The readers can buy shares in the news org, with maybe very little hope of getting a return in dollars, rather in a more functional community.
The veterans from the Washington Post could have the most exciting job in news in generations -- finally making the news work for the people they serve. And no more oligarchs pulling the strings. As readers we know you're often full of it because of who owns you. We're not that stupid. ;-)
And I am sure the independent developers of the web would love to write editorial and publishing software for the new enterprise. We won't charge for it. And we won't lock you in and we will support standards everywhere so all software is replaceable. You can check my references on this, I think this ethos for technology is as central as the Hippocratic Oath in medicine.
I want news to work.
The chaos in the US is affecting open source software and its developers [OSnews]
It was only a matter of time before the illegal, erratic, inhumane, and cruel behaviours and policies of the second Trump regime were going to affect the open source world in a possibly very visible way. Christian Hergert, longtime GNOME and Linux contributor, employed by Red Hat, wanted to leave the US with his family and move to Europe, but requests to remain employed by Red Hat were denied. As such, he decided to end his employment at Red Hat and push on with the move. However, without employment, his work on open source software is going to suffer.
While at their in-person visa appointment in Seattle, US border patrol goons shot two people in their hometown of Portland, underlining the urgency with which people might want to consider getting out of the US, even if it means losing employment. Regardless, the end result is that quite a bit of user-facing software that millions of people use every day is going to be affected.
This move also means a professional shift. For many years, I’ve dedicated a substantial portion of my time to maintaining and developing key components across the GNOME platform and its surrounding ecosystem. These projects are widely used, including in major Linux distributions and enterprise environments, and they depend on steady, ongoing care.
For many years, I’ve been putting in more than forty hours each week maintaining and advancing this stack. That level of unpaid or ad-hoc effort isn’t something I can sustain, and my direct involvement going forward will be very limited. Given how widely this software is used in commercial and enterprise environments, long-term stewardship really needs to be backed by funded, dedicated work rather than spare-time contributions.
↫ Christian Hergert
The list of projects for which Hergert is effectively the sole maintainer is long, and if you’re a Linux user, odds are you’re using at least some of them: GNOME’s text editor, GNOME’s terminal, GNOME’s flagship IDE Builder, and tons of lower-level widely-used frameworks and libraries like GtkSourceView, libspelling, libpeas, and countless others. While new maintainers will definitely be found for at least some of these, the disruption will be real and will be felt beyond these projects alone. There’s also the possibility that Hergert won’t be the only prolific open source contributor seeking to leave the US and thus reducing their contributions, especially if a company like Red Hat makes it a policy not to help its employees trying to flee whatever mess the US is in.
Stories like these illustrate so well why the “no politics!” crowd is so utterly misguided. Politics governs every aspect of our lives, especially so if you’re part of a minority group currently being targeted by the largest and most powerful state apparatus in the world, and pretending to be all three wise monkeys at once is not going to make any of that go away. Even if you’re not directly targeted because you’re not transgender, you’re not brown, you’re not an immigrant, or not whatever else they fancy targeting today, the growing tendrils of even an incompetent totalitarian regime will eventually find you and harm you.
More so than any other type of software, open source software is made by real humans, and as these totalitarian tendrils keep growing, more and more of these real humans will be affected, no matter how incompetent these tendrils might be. You can’t run away and hide from that reality, even if it makes you uncomfortable.
Trying Out A New Recipe: Nadia’s Healthy Kitchen “Healthy Brownie Batter Bark” [Whatever]
Though I’ve followed Nadia’s Healthy
Kitchen on Instagram for
years, I’m not entirely certain I’ve ever
actually made anything from her before. I am not vegan,
gluten-free, or overly worried about sugar being in my baked goods,
so I’m not entirely sure why I wanted to make these
“healthy,” vegan, gluten-free, no-bake peanut butter
and chocolate brownie batter bark bars, but I did! And now
I’m here to tell you how difficult they were to make, and if
they’re any good.
To start things off, let’s look at the video she posted that I saw:
You know, that didn’t look too hard! Here’s the recipe so you can follow along while we take a look at the ingredients list.
Despite having King Arthur’s measure-for-measure gluten-free flour in my pantry, this recipe did not call for 1-to-1 gluten-free flour, and instead calls for oat flour and ground almonds.
Now, you might notice a typo in the recipe in the measurements section. Nadia mentions ground almonds four times in the post leading up to the written recipe, and once in the instructions portion of the recipe, but makes the mistake of typing “ground oats” right below “oat flour” in the measurements. One of the comments on her recipe actually points this out, as well.
Moving on, I did not have oat flour or ground almonds, but I did have the cocoa powder, maple syrup, peanut butter, coconut oil, dark chocolate, and, of course, salt. So there I found myself in Kroger’s baking aisle buying Bob’s Red Mill’s Gluten-Free Oat Flour which is different than their Whole-Grain Oat Flour which is not gluten-free, and their Super-Fine Almond Flour (not their Natural Almond Flour, but that one is also gluten-free). I know the recipe says ground almonds, but I figured since the almond flour is basically just really finely ground almonds it’d be like the same thing, right?
Thankfully, this recipe is measured by weight, so this ended up being a very easy, one bowl recipe in which I just dumped all the ingredients in and measured by weight the entire time (except the 2 tbsp of coconut oil and 2 tbsp of peanut butter that are separate for the ganache). You literally just weigh it out and mix it all together, easy peasy!
After mixing the “dough” together (I don’t know if it’s technically considered a dough. What are the qualifications of a dough?), you just roll it out into a thin rectangle and pour the melted chocolate and peanut butter over top, then freeze it just long enough to solidify it enough to cut into bars.
I was genuinely surprised how quick and easy this recipe was, and it’s honestly not very many ingredients. Obviously the oat flour is something that not everyone just has on hand, but if you are gluten-free then maybe that’s more of a common household ingredient for you and this would actually be super convenient for you to whip up.
Okay, so it wasn’t hard and didn’t take very long, but it did it actually taste good? Well, honestly, I quite liked it! I wouldn’t be so bold as to claim that it tastes exactly like a fresh-baked, full-sugar, non-vegan brownie, but it definitely is rich and chocolatey, with some nice flavor from the peanut butter and a melt-in-your-mouth texture. One thing I really like about them is that it can feel like gluten-free treats are always super dry and crumbly, but these are pretty fudgy and not like crumbly sand.
Honestly they look just like they do in the video, and I’m happy I gave them a whirl. I wouldn’t say they’re life-changing, but if you have a gluten-free person in your life you want to whip up a treat for, these might be a really good option.
Final note, the chocolate ganache gets pretty melty at room temp, so I recommend keeping these bad boys in a container in the fridge.
Do you like using measure-for-measure gluten-free flour for your GF recipes, or do you prefer recipes that have flour alternatives like this one? Do you like the addition of the peanut butter, or do you wish this recipe were also nut-free (then I guess the almonds would be out, too)? Let me know in the comments, and have a great day!
-AMS
Doc has a idea how to stop teams from tanking. Get rid of the lottery. He's right of course. Think of the futility of tanking in the NBA when last year the #1 pick went to the Dallas Mavericks, who were not a lottery team with only a 1.8% chance of getting the first pick. They got a player who looks to be a great star but you can't always tell if a #1 pick will turn out to be a star, sometimes they do, but often not.
An increasingly high percentage of the videos on FB are fake. Some are entertaining, some are boobs (an amazing number) and some are pretty freaking dangerous, to the extent people believe they're real.
Greatest inventions and products [Scripting News]
Om Malik says the internet is the greatest invention of his life, and since we're roughly the same age, that would be my life's greatest invention too. I think it would be if it weren't such a tragic invention, one whose growth was cut off by the very thing he quotes John Doerr saying, it could be harnessed to make huge amounts of money.
Doerr would, of course, look at it in terms of money, because money is his business. But because of that, we ended up crashing our political system and haven't gotten past that yet.
If we had kept the one thing about the internet that made it different, we could be far ahead of where we are now, and perhaps would have arrived at a different form of network that didn't favor the kind of people it favors.
Three things that made the internet special:
BTW, I know Doerr. He was the backer of Symantec, the company that bought my company in 1987, then took it public a few years later and thus made it possible for me to make software for the rest of my life. He's a really nice guy. I've only met a handful of people in my travels that had mastered something important so well but managed to still care about people. ;-)
So if the internet is not the greatest invention, what is? I haven't spent much time thinking about this, but my initial choice is AI. Because it's so hugely powerful and yet almost entirely undefined. Uncharted territory, which is all human knowledge. It might be the invention whose product is invention. Whatever it is I'm sure the things it does now will be seen as we see the first moving pictures. A demo of the greatness to come.
What about products? A single act of creativity that made a huge difference. I might suggest Unix is the greatest product of our lifetimes (not invention). Or perhaps Visicalc. People would likely say the iPhone, but I still want something in that form factor that I can write software for and share with others without having to go through a company like Apple. So in that sense the iPhone might have been a negative invention, it cut off possibilities for an amateur development community to develop, as it did on the Apple II, Mac, PC, etc.
PS: If you had asked me in 1999 is the internet the greatest invention, I would have been as enthusiastic as Doerr. There was nothing but blue sky then. Everything was possible, and we were going to do it all!
Observed programming behavior. After getting something complicated working, you figure it's all downhill from there, only to realize there's another big hill you have to climb -- you know -- the thing that looked so easy.
“May your cup runneth over…”
This begs the question: how big a cup?
The logistics of vessel size determine how much money we need to raise, how big a team we need, how many customers are necessary to break even. When we’re on the hook to fill an Airbus transatlantic flight with passengers, the business is fundamentally different from a small commuter airline in Rhode Island.
And it’s not simply the financial and organizational mechanics that matter.
We can’t help but compare.
Is a million dollar sale a big deal? Not if your organization was counting on something ten times as big.
It turns out that the absolute size of our cup isn’t nearly as important as getting the relative inputs and outputs in sync.
Commission trials European open source communications software: Matrix [OSnews]
“As part of our efforts to use more sovereign digital solutions, the European Commission is preparing an internal communication solution based on the Matrix protocol,” the spokesperson told Euractiv.
Matrix is an open source, community-developed messaging protocol shepherded by a non-profit that’s headquartered in London. It’s already widely used for public messengers across Europe, with the French government, German healthcare providers and European armed forces all using tools built on the protocol.
↫ Maximilian Henning at Euractiv
Right now, most government agencies and institutions in Europe are effectively entirely reliant on Microsoft for their digital infrastructure, and that’s not a tenable situation going forward with the Americans being openly hostile towards Europe, up to and including threatening to invade European countries. Europe needs its own digital infrastructure, and opting to build those around open source tools is the obvious way to go.
Of course, this isn’t an easy process, but two platitudes apply here: Rome wasn’t built in a day, and every journey begins with a first step. By opting to use existing open source tools, though, these efforts will have a massive head start, and will hopefully lead to a flurry of increased activity for the open source projects in question. In this particular case it’s Matrix, which can surely need some additional work and eyeballs, if my use of the protocol is any indication.
“I now assume that all ads on Apple News are scams” [OSnews]
What does it look like when a hardware and software company descends into an obsession with recurring services revenue to please its shareholders? Look no further than Apple, who has turned its Apple News service into a vehicle for scam ads.
These fake “going out of business ads” have been around for a few years, and even the US Better Business Bureau warns about them, as they take peoples’ money then shut down. Does Apple care? Does Taboola care? Does Apple care that Taboola serves ads like this? My guess: no, no, and no.
↫ Kirk McElhearn
While serving obvious scams to users is already bad enough, the real kicker is that even if you are a paying user of Apple News, you still get served ads, including the scams. Of course, massive corporations like Apple are free too just scam you, since they’re effectively immune from any legal consequences, so it’s unlikely the scamming will stop as long as it makes line go up.
On an entirely unrelated note, OSNews is entirely free of ads, so there’s no scams here. OSNews is fully funded by our readers through single donations on Ko-Fi or by becoming a Patreon.
The Goblin Emperor [Judith Proctor's Journal]
I've read this twice now, and it's very likely I'll read it again. I also suspect it may hit five stars on the third read.
i think i leveled up [WIL WHEATON dot NET]
I turned in a story on Friday. It was over a year late. It needed eyes that aren’t mine, it needed another pass from me, it needed a polish. So it isn’t done done, but it’s close enough to done that I feel safe writing about what may turn out to be one of the most important things I’ve written in my creative and professional journey as a writer, maybe a close second to Still Just A Geek.
I worked on this story for about eighteen months, even though I “only” spent about 12 hours actually writing it. It was a year late, even though it “only” took me three days to write the draft that I turned in. I have never worked harder or longer with fewer words to show for it at the end. But they are good words. I am so glad that I did this, that I put this at the top of my queue and left it there, even when I felt like I couldn’t put two words together, because when I accepted it, I made a promise to myself that I would do the thing,1 and it was really important to me that I didn’t break that promise, even if it meant that the queue did not move at all, for a year.
I was so excited to do this when I accepted the invitation in late 2023 or early 2024. But the election broke me, and 2025 went from being a year I expected to be all about making not just this thing, but lots of things, to a year that forced me to turn off my engines, divert all power from all non-essential systems to life and mental health support, and run silent until further notice.2
Nearly every day in June and July, I woke up with my body completely dysregulated. It was its own alarm: the terror, the shaking, the nausea and sweating … all of that stuff I became an alcoholic to avoid before I went to sleep at night was now happening to me, ten years sober from alcohol, every fucking morning. And this was even worse than the other thing. Day after day, exhaustion and discomfort helped push my anxiety to record levels, worse than it had been in years. I felt like the ulcer my mom didn’t believe I had when I was a teenager was coming back. I was distracted all the time, constantly crashing into doorways and furniture, forgetting why I walked into every room. More than once, for days at a time, I felt like I didn’t even know myself.
I mean, it was a lot. And I say that as someone who has survived and healed from a lot, you dig me?
The dysregulation was a symptom, I knew that; but why it showed up when it did took a lot of work to uncover, probably because the cause turned out to be a lot of different things3 that ultimately revealed themselves to be a individual parts of a few things that I could look at and work on using EMDR therapy4.
EMDR therapy works so well for me, it is advanced technology that is indistinguishable from magic. But that magic isn’t a spell that cures everything and turns me into someone I’m never going to be. But it helps so much, and it heals so much, I literally feel pain and trauma leave my body5 and then over the next few days, I notice that space to enjoy the good things opens up. For months, now, I have been experiencing moments similar to the first time I heard the birds, as I notice that something which had been hurting for so long, I had gotten used to it, like the smell when you live next to the dump, was gone. And, just like I did then, I marveled that I was able to exist at all with the trauma taking up all that space.
The thing about my healing and recovery is that I can work my way through the level, get to one of those hideous Baron-Harknonen-meets-human-Bender-meets-a-gibbering-mass-of-eyeballs-and-teeth boss monsters, defeat it, and celebrate as I head to the next level … but there’s always another monster waiting behind some currently unopened door that I will have to eventually go through. So I celebrate the wins, but cautiously.
For the last year or so, in the exuberant haze of post-slaying celebration, I would sit at my desk, confident that The Thing was now going to begin filling the empty document. Most of the time, it was a frustrating, demoralizing experience as I dragged words, kicking and screaming, from my mind onto the page. At the end of those days, I’d curse myself and throw it all away. Once or twice, I enjoyed what I wrote, but when I went back to add to it, I realized there was a nice scene or two there, but nothing I could build into a story. Nothing I wrote made my heart sing. I never felt connected to what I had written. Maybe I’d put together one or two or even three nice scenes, but the reason I wanted to write it, the story I wanted to tell, I didn’t know what that was, because I was too distracted, too tired, too … broken.
I. Just. Could. Not. Do. It.
I’m gonna yadda yadda over a lot, because I want to hurry up and get to the fireworks factory. Maybe I’ll come back to it in the future. For now I will say I found myself in the middle of an empty ocean, floundering in the worst storm I’ve ever seen. I had all these instruments telling me how to get out of it, but I couldn’t adjust the sails to use them. I got frustrated, I got mad, I started to get depressed.
Yadda yadda, one day, as I was thrown wildly around by the violence of towering waves, it was like my body, or my Higher Self, or whomever is writing my life took pity on (or ran out of patience with) me and decided to do something about it. One day in late Autumn, it broke the glass and smashed a big red button which delivered this message: You will not be able to make good art, the one thing you want to do more than anything else for the rest of your life, until you slow down and let the healing take as long as it takes. We mean, really commit and do it. Yes, when it is hard. Yes, when it feels like you’re running in place on a patch of ice and if you fall it’s really going to hurt. Yes, when you are afraid. Yes when you are overwhelmed. Yes, yes, yes, you can do this. You must do this.
I heard that, paused, and I listened to what came after. I showed up and did the work. I started to slow down, but the way an overloaded cargo ship slows down over, starting several days out of port before it can think about actually slowing down again to dock without exploding like a Ford Pinto6
That brings us to sometime in January. I had been out of the storm and on dry land for a little bit, but I could still feel the motion of that storm, emotional landsickness from a body that didn’t realize the motion was a memory,7 but I also felt weirdly aware of how on solid ground I was, and that the discomfort was literally in my head. So I went for some walks, and as the landsickness calmed, all the years of reading books I didn’t feel had helped me at the time, books about storytelling, story structure, character development, writing process, books I read in an effort to get myself from a guy who writes things to a guy who is a writer, all came together at once, and before I realized it was happening, I think I got there. I think I am there, right now. Holy shit.
I have always known that I was mostly faking it, when it came to writing stories. I always felt like I had always had some grasp of the skills, but very little understanding of how to use them. I know that I’m reasonably competent and occasionally even good as a blogger who writes stories about his own life. I know that I can effectively recreate the emotional sense of a place and put you there. That’s not nothing! I’m proud of it and I love doing it! But when I tried to take that particular set of skills and translate them into writing stories of my own that actually say something through characters who grow and change in a story that evolves as I tell it rather than remember it, I couldn’t do it. I didn’t understand something fundamental about the discipline, and I didn’t even know where to look to find it. I think maybe it isn’t one single thing, and maybe it isn’t something that is meant to be easy or even logical in its discovery. At least, not for me. And I’m not even sure I’ve completely put it all together, just that I’ve figured out enough of it to finally get the key to turn in a door I’ve clawed grooves into, trying to brute force my way through it.
I started from the very beginning: What story do I want to tell, and why? A couple days of long, quiet walks later, I knew. It was simple and clear: I want to tell a dark fantasy story about a man who’s been running away from himself for so long, he doesn’t realize that he’s been caught, until it is too late. I want to examine where his greed comes from and why.
Where will I set it? Who is the guy? What happens after we meet him? Is there a twist? What is it? Who wins at the end? I allowed myself to write hundreds of words that didn’t work, knowing that they were getting me to the next hundred words that did, confident that I would be able to clean them up later8.
I had such a great time. I felt creative. I felt clever. I felt productive. I felt like I knew what I was doing! I wanted to reach out and tell my friend this was happening, but after blowing so many deadlines, I didn’t want to say anything unless and until it was done.
While I was busy not texting my friend, my friend texted me. They told me no pressure or expectation, they know what I’m dealing with, but there was a week left if I still wanted to turn in the thing. I replied that I would do my best, and mentioned that I’d been working on it, but didn’t go into the rest. I really wanted to stay on target, use The Force, blow this thing and go home.
Late in the day last Thursday, I finished the draft. I looked at it again Friday morning, was happy to discover that it held up, and turned it in with a note that said I thought this was about 90% done, but I needed fresh eyes to look at it, for those things I inevitably miss, or things that are left over from a previous draft that I didn’t notice were still there.
And I waited.
Yesterday, my friend texted me that he loved my story. Shortly after, the editor replied that he had no notes and was ready to publish it as-is. I asked if I could have a day to do a polish and just look it over one last time.
After my coffee and Marlowe’s walk this morning, I opened up my current draft and began reading it aloud. I made cosmetic tweaks here and there, tried out something in a scene that didn’t work so I deleted it all, and was sincerely shocked at how finished it actually was. It was more like 98% there, not 85% like I thought just 24 hours prior. I realized that I was having fun reading it, like it was something I hadn’t written, but was enjoying on its own merits.
That was wild, man.
So, after about 18 months, I “only” spent about twelve hours over “only” about four days working on the thing, but I think I spent roughly 540 days with this story, while it taught me how to be a writer.
What do you mean, Wil? I’ve been reading your blog for 20 years. Of course you’re a writer. Yes, I’ve written lots of things in 20ish years, but I always felt like I was mostly faking it. I could stack story blocks on top of each other, but if the stack got too tall, it always fell over. And even if I was in love with it before it fell, I didn’t know how to put those blocks back in order because I didn’t know why they went in that order, just that they fit together well, mostly by accident.
Something is different, now, and some other ideas that have been sitting on shelves in my creative mind, gathering dust, have begun to call out to me for the first time in years. Two things that I really loved developing but never finished are probably going to be combined into one thing, and I think I may even have a chance at pitching the result to a publisher.
I didn’t notice until today, editing this post, how much my growth as a trauma survivor and my growth as a writer have in common, even though I’ve always known they were linked together in ways I was aware of and ways I was not. It is not lost on me, at all, and it is not even a little coincidence, that I ended up writing a story about someone someone who knows he has trauma to heal, pain to reconcile, but unlike me, he choose to run away from it instead of doing the work. Of course, it’s also just a nice dark fantasy story with a little horror around the edges, too.
None of this was easy, but I believe that nothing truly worth doing ever is. There were times when I felt lost, and afraid, times when I gave up. My god, I gave up half a dozen times. But I got lucky, and the project moved slowly enough for me to catch up.
Now, I have to rest for a minute, but when I’m done, I’m going back to work. I have these stories I want to tell, and I think I actually know how to tell them.
Thanks for reading. I’m glad you’re here. If you’d like to get my posts in your email, here’s the thingy:
︎
︎
︎
︎
︎
︎
︎
︎Pluralistic: End of the line for video essays (07 Feb 2026) [Pluralistic: Daily links from Cory Doctorow]
->->->->->->->->->->->->->->->->->->->->->->->->->->->->->
Top Sources: None -->

What if there was a way for a business to transform any conduct it disliked into a felony, harnessing the power of the state to threaten anyone who acted in a way that displeased the company with a long prison sentence and six-figure fines?
Surprise! That actually exists! It's called Section 1201 of the Digital Millennium Copyright Act, the "anticircumvention" clause, which establishes five-year sentences and $500k fines for anyone who bypasses an "effective access control" for a copyrighted work.
Let's unpack that: every digital product has a "copyrighted work" at its core, because software is copyrighted. Digital systems are intrinsically very flexible: just overwrite, augment, or delete part of the software that powers the device or product, and you change how the product works. You can alter your browser to block ads; or alter your Android phone to run a privacy-respecting OS like Graphene; or alter your printer to accept generic ink, rather than checking each cartridge to confirm that it's the original manufacturer's product.
However, if the device is designed to prevent this – if it has an "access control" that restricts your ability to change the software – then DMCA 1201 makes those modifications into crimes. The act of providing someone with a tool to change how their own property works ("trafficking in circumvention devices") is a felony.
But there's a tiny saving grace here: for DMCA 1201 to kick in, the "access control" must be "effective." What's "effective?" There's the rub: no one knows.
The penalties for getting crosswise with DMCA 1201 are so grotendous that very few people have tried to litigate any of its contours. Whenever the issue comes up, defendants settle, or fold, or disappear. Despite the fact that DMCA 1201 has been with us for more than a quarter of a century, and despite the fact that the activities it restricts are so far-reaching, there's precious little case law clarifying Congress's vague statutory language.
When it comes to "effectiveness" in access controls, the jurisprudence is especially thin. As far as I know, there's just one case that addressed the issue, and boy was it a weird one. Back in 2000, a "colorful" guy named Johnny Deep founded a Napster-alike service that piggybacked on the AOL Instant Messenger network. He called his service "Aimster." When AOL threatened him with a trademark suit, he claimed that Aimster was his daughter Amiee's AOL handle, and that the service was named for her. Then he changed the service's name to Madster, claiming that it was also named after his daughter. At the time, a lot of people assumed he was BSing, but I just found his obituary and it turns out his daughter's name was, indeed, "Amiee (Madeline) Deep":
https://www.timesunion.com/news/article/Madster-creator-Cohoes-native-who-fought-record-11033636.php
Aimster was one of the many services that the record industry tried to shut down, both by filing suit against the company and by flooding it with takedown notices demanding that individual tracks be removed. Deep responded by "encoding" all of the track names on his network in pig-Latin. Then he claimed that by "decoding" the files (by moving the last letter of the track name to the first position), the record industry was "bypassing an effective access control for a copyrighted work" and thus violating DMCA 1201:
https://abcnews.go.com/Entertainment/story?id=108454&page=1
The court didn't buy this. The judge ruled that pig Latin isn't an "effective access control." Since then, we've known that at least some access controls aren't "effective" but we haven't had any clarity on where "effectiveness" starts. After all, there's a certain circularity to the whole idea of "effective" access controls: if a rival engineer can figure out how to get around an access control, can we really call it "effective?" Surely, the fact that someone figured out how to circumvent your access control is proof that it's not effective (at least when it comes to that person).
All this may strike you as weird inside baseball, and that's not entirely wrong, but there's one unresolved "effectiveness" question that has some very high stakes indeed: is Youtube's javascript-based obfuscation an "effective access control?"
Youtube, of course, is the internet's monopoly video platform, with a commanding majority of video streams. It was acquired by Google in 2006 for $1.65b. At the time, the service was hemorrhaging money and mired in brutal litigation, but it had one virtue that made it worth nine figures: people liked it. Specifically, people liked it in a way they didn't like Google Video, which was one of the many, many, many failed internally developed Google products that tanked, and was replaced by a product developed by a company that Google bought, because Google sucks at developing products. They're not Willy Wonka's idea factory – they're Rich Uncle Pennybags, buying up other kids' toys:
https://www.theatlantic.com/ideas/archive/2023/02/google-ai-chatbots-microsoft-bing-chatgpt/673052/
Google operationalized Youtube and built it up to the world's most structurally important video platform. Along the way, Google added some javascript that was intended to block people from "downloading" its videos. I put "downloading" in scare-quotes because "streaming" is a consensus hallucination: there is no way for your computer to display a video that resides on a distant server without downloading it – the internet is not made up of a cunning series of paper-towel rolls and mirrors that convey photons to your screen without sending you the bits that make up the file. "Streaming" is just "downloading" with the "save file" button removed.
In this case, the "save file" button is removed by some javascript on every Youtube page. This isn't hard to bypass: there are dozens of "stream-ripping" sites that let you save any video that's accessible on Youtube. I use these all the time – indeed, I used one last week to gank the video of my speech in Ottawa so I could upload it to my own Youtube channel:
https://www.youtube.com/watch?v=iZxbaCNIwg8
(As well as the Internet Archive, natch):
https://archive.org/details/disenshittification-nation
Now, all of this violates Youtube's terms of service, which means that someone who downloads a stream for an otherwise lawful purpose (like I did) is still hypothetically at risk of being punished by Google. We're relying on Google to be reasonable about all this, which, admittedly, isn't the best bet, historically. But at least the field of people who can attack us is limited to this one company.
That's good, because there's zillions of people who rely on stream-rippers, and many of them are Youtube's most popular creators. Youtube singlehandedly revived the form of the "video essay," popularizing it in many guises, from "reaction videos" to full-fledged, in-depth documentaries that make extensive use of clips to illuminate, dispute, and expand on the messages of other Youtube videos.
These kinds of videos are allowed under US copyright law. American copyright law has a broad set of limitation and exceptions, which include "fair use," an expansive set of affirmative rights to access and use copyrighted works, even against the wishes of the copyright's proprietor. As the Supreme Court stated in Eldred, the only way copyright (a government-backed restriction on who can say certain words) can be reconciled with the First Amendment (a ban on government restrictions on speech) is through fair use, the "escape valve" for free expression embedded in copyright:
https://en.wikipedia.org/wiki/Eldred_v._Ashcroft
Which is to say that including clips from a video you're criticizing in your own video is canonical fair use. What else is fair use? Well, it's "fact intensive," which is a lawyer's way of saying, "it depends." One thing that is 100% true, though, is that fair use is not limited to the "four factors" enumerated in the statute and anyone who claims otherwise has no idea what they're talking about and can be safely ignored:
https://pluralistic.net/2024/06/27/nuke-first/#ask-questions-never
Now, fair use or not, there are plenty of people who get angry about their videos being clipped for critical treatment in other videos, because lots of people hate being criticized. This is precisely why fair use exists: if you had to secure someone's permission before you were allowed to criticize them, critical speech would be limited to takedowns of stoics and masochists.
This means that the subjects of video essays can't rely on copyright to silence their critics. They also can't use the fact that those critics violated Youtube's terms of service by clipping their videos, because only Youtube has standing to ask a court to uphold its terms of service, and Youtube has (wisely) steered clear of embroiling itself in fights between critics and the people they criticize.
But that hasn't stopped the subjects of criticism from seeking legal avenues to silence their critics. In a case called Cordova v. Huneault, the proprietor of "Denver Metro Audits" is suing the proprietor of "Frauditor Troll Channel" for clipping the former's videos for "reaction videos."
One of the plaintiff's claims here is that the defendant violated Section 1201 of the DMCA by saving videos from Youtube. They argue that Youtube's javascript obfuscator (a "rolling cipher") is an "effective access control" under the statute. Magistrate Judge Virginia K DeMarchi (Northern District of California) agreed with the plaintiff:
https://torrentfreak.com/images/Cordova-v.-Huneault-25-cv-04685-VKD-Order-on-Motion-to-Dismiss.pdf
As Torrentfreak reports, this ruling "gives creators who want to sue rivals an option to sue for more than just simple copyright infringement":
https://torrentfreak.com/ripping-clips-for-youtube-reaction-videos-can-violate-the-dmca-court-rules/
Remember, DMCA 1201 applies whether or not you infringe someone's copyright. It is a blanket prohibition on the circumvention of any "effective access control" for any copyrighted work, even when no one's rights are being violated. It's a way to transform otherwise lawful conduct into a felony. It's what Jay Freeman calls "Felony contempt of business model."
If the higher court upholds this magistrate judge's ruling, then all clipping becomes a crime, and the subjects of criticism will have a ready tool to silence any critic. This obliterates fair use, wipes it off the statute-book. It welds shut copyright's escape valve for free expression.
Now, it's true that the US Copyright Office holds hearings every three years where it grants exemptions to DMCA 1201, and it has indeed granted an exemption for ripping video for critical and educational purposes. But this process is deceptive! The exemptions that the Copyright Office grants are "use exemptions" – they allow you to "make the use." However, they are not "tools exemptions" – they do not give you permission to acquire or share the tool needed to make the use:
https://pluralistic.net/2024/10/28/mcbroken/#my-milkshake-brings-all-the-lawyers-to-the-yard
Which means that you are allowed to rip a stream, but you're not allowed to use a stream-ripping service. If Youtube's rolling cipher is an "effective access control" then all of those stream-ripping services are wildly illegal, felonies carrying a five-year sentence and a $500k fine for a first offense under DMCA 1201.
Under the US Copyright Office's exemption process, if you want to make a reaction video, then you, personally must create your own stream-ripper. You are not allowed to discuss how to do this with anyone else, and you can't share your stream-ripper with anyone else, and if you do, you've committed a felony.
So this is a catastrophic ruling. If it stands, it will make the production of video essays, reaction videos, and other critical videos into a legal minefield, by giving everyone whose video is clipped and criticized a means to threaten their critics with long prison sentences, fair use be damned. The only people who will safely be able to make this kind of critical video are skilled programmers who can personally defeat Youtube's "rolling cipher." And unlike claims about stream-ripping violating Youtube's terms of service – which can only be brought by Youtube – DMCA 1201 claims can be brought by anyone whose videos get clipped and criticized.
Is Youtube's rolling cipher an "effective access control?" Well, I don't know how to bypass it, but there are dozens of services that have independently figured out how to get around it. That seems like good evidence that the access control is not "effective."
When the DMCA was enacted in 1998, this is exactly the kind of thing experts warned would happen:
https://pluralistic.net/2025/05/13/ctrl-ctrl-ctrl/#free-dmitry
And here we are, more than a quarter-century later, living in the prison of lawmakers' reckless disregard for evidence and expertise, a world where criticism can be converted into a felony. It's long past time we get rid of this stupid, stupid law:
https://pluralistic.net/2026/01/01/39c3/#the-new-coalition
(Image: Electronic Frontier Foundation, CC BY 4.0)

The Finance Industry Is a Grift. Let’s Start Treating It That Way. https://www.nytimes.com/2026/02/06/opinion/capitalism-industry-financialization.html?unlocked_article_code=1.KFA.Vslp.8Xqe7KWGEwRu&smid=nytcore-ios-share
Ron Wyden Only Talks Like This When The Spies Do Something Real Bad https://www.forever-wars.com/ron-wyden-only-talks-like-this-when-the-spies-do-something-real-bad/
Hollywood Is Losing Audiences to AI Fatigue https://www.wired.com/story/hollywood-is-losing-audiences-to-ai-fatigue/
Waymo Exec Admits Remote Operators in Philippines Help Guide US Robotaxis https://eletric-vehicles.com/waymo/waymo-exec-admits-remote-operators-in-philippines-help-guide-us-robotaxis/
#25yrsago Bellsouth phases out pay-phones https://web.archive.org/web/20010211165636/http://dailynews.yahoo.com/h/ap/20010202/bs/bellsouth_pay_phones_1.html
#20yrsago Man who shattered museum vases asked not to come back http://www.chinadaily.com.cn/english/doc/2006-02/07/content_517885.htm
#20yrsago Dozens of Web 2.0 companies’ logos https://flickr.com/photos/torrez/95124293/
#20yrsago Did Nvidia hire an army of message-board sock-puppets? https://web.archive.org/web/20060208045150/https://www.consumerist.com/consumer/evil/did-nvidia-hire-online-actors-to-promote-their-products-152874.php
#15yrsago Sarah Palin Circle-R wants a trademark on her name https://www.loweringthebar.net/2011/02/sarah-palin-tm-having-trouble-with-registration.html
#10yrsago Love Picking: Locksport meets love locks https://toool.us/love-locks/
#10yrsago Superb investigative report on the fake locksmith scam https://www.nytimes.com/2016/01/31/business/fake-online-locksmiths-may-be-out-to-pick-your-pocket-too.html?_r=1
#5yrsago Klobuchar wants to bust her some fuckin' trusts https://pluralistic.net/2021/02/06/calera/#fuck-bork

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
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 (Creative Nonfiction podcast)
https://brendanomeara.com/episode-507-enshittification-author-cory-doctorow-believes-in-a-new-good-internet/
"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 Memex Method," Farrar, Straus, Giroux, 2026
"The Reverse-Centaur's Guide to AI," a short book about being a better AI critic, Farrar, Straus and Giroux, June 2026
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 (1010 words today, 24701 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
Joe Marshall: Vibe Coded Scheme Interpreter [Planet Lisp]
Mark Friedman just released his Scheme-JS interpreter which is a Scheme with transparent JavaScript interoperability. See his blog post at furious ideas.
This interpreter apparently uses the techniques of lightweight stack inspection — Mark consulted me a bit about that hack works. I'm looking forward to seeing the vibe coded architecture.
Celebrate Black History Month at These Seattle-Area Events [The Stranger]
February is Black History Month, a time to recognize the contributions and struggles of Black Americans throughout our nation’s history. In the face of rising bigotry, continuing the work of antiracism and investing in Black futures remains as important as ever. Read on to find out ways you can honor and celebrate the month, from Melodies of the Diaspora: Celebrating 100 Years of Black History Month to America 250: The Verdict Is?
2026 Call to Conscience Black History Month
Museum
South Seattle is one of the most racially and ethnically diverse
areas of the city, which makes Call to Conscience
essential viewing for Black History Month. This curated museum
experience presented by Rainier Avenue Radio
transforms the historic Columbia City Theater into a living archive
of Black history around the Sound. While many installations run
throughout the month, the experience evolves weekly, exploring
everything from the Seattle chapter of the Black Panther Party to
Jackson Street jazz and the legacy of Quincy Jones. Add in rotating
exhibits on Black Tacoma, Black athletes in the Metro League, and
the foundational work of blackpast.org, plus talks and special
programs, and no two visits feel the
same.
Columbia City Theater, Rainier Valley
(Through Feb 28)
Dropping The Deuce [Penny Arcade]
I haven't played Overwatch since… I mean, a long time ago. I don't even remember why. Oh, wait! I do remember why, and no doubt others remember also. In something like COD, bare minimum, I can run around and pick up your tags or whatever. The only shooter I ever got truly competitive in was probably Gears 2, and then, only for two reasons. One, because your whole team is two people. And two, because if you don't get good at the a complete stranger will chainsaw you from your asshole up to your collarbone. It's the worst feeling I've ever experienced in a video game and I'd do anything - even git gud - to avoid it.
Purple Lemonade Collective [The Stranger]
The world is full of lemons, but thank god there’s Purple Lemonade. This performance collective has taken over the city with their charisma, cross-genre dance, and scantily clad performances. As they strut the stage, you might see elements of hip-hop, reggaeton, flavors of camp—a whole glorious blend of street, club, and contemporary movement that refuses to be boxed into a singular style. From nightlife venues to theater spaces, their acts fill any venue with an ass-shaking confidence that radiates their mission of promoting playful self-expression.
The troupe was cofounded by Ronnie Gatsby and Kristen Puckhaber in 2016. The name pays homage to two of Gatsby’s big artistic influences: Prince and Beyoncé. “Lemonade,” a nod to Beyoncé’s 2016 album, “was Beyoncé taking a shitty experience and making something great,” says Gatsby. “The thing people used to ridicule me for, being flamboyant, is what has made me a place in the world. I turned that shit into lemonade.”
The collective has taken many forms in the past 10 years, but has always centered around a tight-knit, collaborative friendship. “What we value the most is being able to create cool shit together,” says Gatsby. “We love each other. We get to do what we love with friends.” That core value has stayed true as Gatsby passed the role of artistic director to Carlos Vidal.
Vidal joined Purple Lemonade two years ago. “It changed my
life,” says Vidal. One of the things he found empowering was
the expansive inclusion of styles. “As a performer, you can
do whatever you want to do, just be you and show people how
talented you are.” That mindset is why the group has expanded
into other areas of entertainment, including drag shows, burlesque,
and performing at major
venues like the Seattle Art Museum, Seattle Rep, and Pacific
Northwest Ballet. Last summer, they performed at halftime with the
cast of Tush for Seattle Reign’s Pride Match at
Lumen Field. As regulars in local drag shows, they frequently work
with local icons like Betty Wetter. “Collaborating with
Purple Lemonade is a dream,” says Wetter.
“They’ve created an environment full of love and
support, so everyone shines when it’s showtime.”
When asked what people can expect to see, Vidal says “ass
out.” The collective’s magnetism sends audiences into a
frenzy. For Vidal, the inspiration it ignites in
others is a highlight of the work. “Whether that’s a
feeling of ‘I’m going to be braver, I can be more
expressive, I’m going to show more ass.’ You can make
people feel confident, that’s the best part.”
The group creates in a very joint-effort way, with both the founders still part of the family and process. That connective energy will help them tackle a full and exciting year ahead. J’Adore at the Triple Door in February, Live Nude Mammals at Queer/Bar in March, and Hotel Gatsby at Intiman Theater in April are among upcoming events. “We want to be queer everywhere,” says Vidal. “With everything happening right now, we want to bring joy to people and have fun.”
An in-kernel machine-learning library [LWN.net]
For those wanting more machine learning in the kernel, Viacheslav Dubeyko has posted a new in-kernel library for that purpose.
What is the goal of using ML models in Linux kernel? The main goal is to employ ML models for elaboration of a logic of particular Linux kernel subsystem based on processing data or/and an efficient subsystem configuration based on internal state of subsystem. As a result, it needs: (1) collect data for training, (2) execute ML model training phase, (3) test trained ML model, (4) use ML model for executing the inference phase. The ML model inference can be used for recommendation of Linux kernel subsystem configuration or/and for injecting a synthesized subsystem logic into kernel space (for example, eBPF logic).
It is rigorously undocumented and there are no real users, so it's not entirely clear what the purpose is, but there are undoubtedly interesting things that could be done with it.
Pop Loser # 15: Immaculate Collection with Biblioteka [The Stranger]
This week's music news. by Audrey Vann
Welcome back to Pop Loser! This week, we dig into some highlights from the 68th Annual Grammy Awards. In another edition of Immaculate Collection, local punk band Biblioteka share their treasure troves of funky shoes, creepy dolls, and Magic: The Gathering cards. Plus, I have two moody song recommendations to get you through the rest of the week.
This Week in Music
The Grammys were on Sunday (if you even care). Politics seeped through the award show’s facade with ICE OUT pins on every lapel and speeches dedicated to immigrant solidarity from Bad Bunny, Billie Eilish, Olivia Dean, and Kehlani. Other highlights from the show included a D’Angelo tribute from Lauryn Hill and performances from pop divas Addison Rae, Sabrina Carpenter, and Lady Gaga. Trump has already threatened to sue host Trevor Noah, who joked about his visits to Epstein Island.
The award show also brought us live TV gold. Cher made an appearance at the Grammys for the first time in 18 years to accept a lifetime achievement award and present the highly anticipated Record of the Year. What followed was an incredible chain of slipups, pauses, and missed marks that only Cher can get away with. Her appearance ended with her announcing the late Luther Vandross as the winner. (The winner was actually Kendrick Lamar and SZA, for their song “Luther”). This was the greatest award show moment since John Travolta introduced “the wickedly talented Adele Dazeem.”
Let’s talk fashion. There have been entire articles written about Chappell Roan’s red carpet look, but for all the wrong reasons (I am looking at you, New York Times). The merlot chiffon gown, held up by faux nipple piercings, was inspired by a look from Thierry Mugler’s fall 1998 couture collection and should make anyone gasp from its elegance, not prudishness. In the negative space on her skin, Roan was covered in delicate temporary tattoos of lace-woven horses. This is by far my favorite red carpet look of the last 20 years.
RIP Billy Bass Nelson. This week, we lost Billy Bass Nelson, the original bassist of the pioneering psychedelic funk band Funkadelic, who died just three days after his 75th birthday. No cause of death has been reported yet. It was also announced Monday night that Three Dog Night cofounder Chuck Negron, best known as the lead vocalist on “Joy to the World,” died at the age of 83.
The USA could never. Live music venues in the UK are now set to receive government support, following backlash to plans that would increase business rates, which could leave thousands of venues and pubs at risk of layoffs and closures. In response to the possible impact on live music, the Treasury has confirmed a new support package of nearly £100 million for live music venues across England and Wales.
Immaculate Collection with Biblioteka
If you’ve been nonstop bumping Amyl & the Sniffers’ third album, Cartoon Darkness, since it was released, might I suggest you add some Biblioteka into the rotation? Like the Aussie punks, Seattle’s Biblioteka are led by a high-energy vocal powerhouse, Mary Robins, who often sings about being turned on and pissed off (just listen to their newest single “Firestarter”). Ahead of the trio’s album release party at Neumos on Feb 12, I caught up with the band to discuss their obsessions, from funky shoes to creepy dolls.
Mary: Funky Shoes
What do you collect?
I collect shoes,
namely, statement shoes and boots for playing shows. There’s
something about stomping around in big, boxy boots that makes me
feel like a giant praying-mantis-meets-Barbarella. Things I usually
go for: platforms, chunky heels, and leopard.
What was the first item you acquired in this
collection?
Jeffrey Campbell buckle ankle boots with a
metal-caged heel. I wore them for our first Biblioteka show.
They’re comfy and look so sick. Local shoe lore is that
Jeffrey Campbell got his start working at the Tukwila Nordstrom in
the women's shoe department, or so the people who work there have
told me. I love a local legend, and I also had my first job at the
Tukwila mall.
What is the most prized item in your
collection?
The vintage, silver, pointy-toe cowboy
boots. I got them at a vintage shop while we were in Spain on tour.
They look amazing, one of a kind and out of this world. And they
fit perfectly.
Tell me about an item you'd like to add to your
collection or a new collection you'd like to start.
I’m trying to de-collect, especially since I grew up in a
house where “collecting” can get out of hand, lol. So
these days I’m selling clothes and shoes on my Depop :)
Hexx: Souvenir Dolls
What do you collect?
I collect a lot! Vinyl, vintage tees and bolos, guitars, and I also
started a creepy doll collection.
What was the first item you acquired in this collection?
I started collecting souvenir plush/dolls/toys while out touring, and it all started with a creepy clown that I found in a Portland alley next to a bag of drugs. I left the drugs, took the clown, and proclaimed her name Gweneviere, which also happened to be the name of the venue owner’s daughter (who despises clowns). Gweneviere is our unofficial mascot!
What is the most prized item in your collection?
I have a green alien plush scored from a middle-of-nowhere gas station close to what I assume or wish to believe is Area 51.
Tell me about an item you'd like to add to your collection or a new collection you'd like to start.
I’d be good with another back alley clown.
Jules: Magic: The Gathering Cards
What do you collect?
I started collecting
Magic: The Gathering cards entirely on accident, but now
I’ve likely got around two or three thousand cards in my
collection, and it is probably what I would need to sell off if I
needed a quick windfall someday.
What was the first item you acquired in this collection?
I started playing around 2018 when a friend of mine moved back to town and decided to get us all hooked. The first Magic cards I bought on my own were from Mox Boarding House, a battle deck they had assembled called Chimera Flash. The deck was built around a card called Spellheart Chimera, which at the time felt like the strongest card imaginable. It has flying and trample AND its power is equal to the number of instants and sorceries in my graveyard? What could be better than that? Soon after I started collecting packs from the Guilds of Ravnica expansion, which had a card called Crackling Drake, which was basically the same as Spellheart Chimera but it also drew a card when it entered. The search for the strongest version of Spellheart Chimera still continues to this day.
What is the most prized item in your collection?
I’m a lifelong Sonic the Hedgehog fan, so I bought the crossover Secret Lair collection when they launched it. There are seven secret bonus cards, the seven chaos emeralds, that were all super rare drops for those who bought the collab. I ended up getting the red chaos emerald, it was such a thrill pulling that out of the pack. I’ve got it in my trade binder to proudly show, and it’s doubtful I’ll pull an individual card that I’m more stoked on.
Tell me about an item you'd like to add to your collection or a new collection you'd like to start.
Ideally, this collection never gets any bigger. I’d love to just survive for the rest of my Magic career by selling cards if I want to buy more cards. I’ve got too many of these things.
Music Events Worth Your Hard-Earned Money This WeekNaima Bock Feb 5, Tractor Tavern, 8 pm, 21+
Robyn Hitchcock Feb 6, Neptune Theatre, 8 pm, all ages
The Maya Experience Feb 6, Barboza, 6:30 pm, 21+
Audioasis Live Feb 7, KEXP, 5 pm, all ages
Claire Conway, Your Jack, Frankie Beach Feb 10, Sunset Tavern, 7:30 pm, 21+
Olivia Barton Feb 10, Barboza, 7 pm, all ages
Want these recs in your inbox a day earlier? Subscribe to Pop Loser.
The Songs That Keep Me Up at Night
“Heavy, Why?” by Blackwater Holylight
Portland-born metal band Blackwater Holylight contrast their
shimmering harmonies with sludgy, psychedelic instrumentals for a
product that is haunting, beautiful, cathartic, and scary all at
the same time. Their new album, Not Here Not Gone, was
released on Friday and features some of their most approachable
songs yet—take “Heavy, Why?” for example, which
is reminiscent of 2010s rock bands like the Dum Dum Girls and
Broken Water. I don't listen to very much metal, but I love this
band—consider them your gateway into the genre.
“Bluebell” by Babes in Toyland
When I’m in a bad mood, I listen to Babes in Toyland’s 1992 album Fontanelle as loud as I can tolerate. I’ve been in a bad mood a lot this week, so naturally, “Bluebell” has been literally stuck in my head, keeping me up at night. Specifically, the part where she yells, “You know who you are / You're dead meat, motherfucker!” Listen to it for a cathartic release.
Get Pop Loser every week in your inbox. Subscribe here.
We Keep Each Other Alive [The Stranger]
Ally Ang sparks up this city with a distinctively queer, raucous energy that’s nerdy, enthusiastic, genuine, and joyful. “Reading a really good book of poems is so exhilarating,” Ang told me, when I spoke with them around the release of their debut poetry collection, Let the Moon Wobble. “I get hype off of it. It feels like downing cold brew or something. It makes me feel so, just, like, alive. Nothing else gives me that feeling. I'm so addicted to the feeling of reading really exciting poetry.” by Katie Lee Ellison
Ally Ang sparks up this city with a distinctively queer, raucous energy that’s nerdy, enthusiastic, genuine, and joyful. “Reading a really good book of poems is so exhilarating,” Ang told me, when I spoke with them around the release of their debut poetry collection, Let the Moon Wobble. “I get hype off of it. It feels like downing cold brew or something. It makes me feel so, just, like, alive. Nothing else gives me that feeling. I'm so addicted to the feeling of reading really exciting poetry.”
I don’t know about you, but I haven’t felt anywhere near this excited about much lately, which is another reason why Ang is a beacon in Seattle. Bestowed with the honor of an NEA grant in 2023, they shot into a wider collective public consciousness, but as they’ll tell you themselves, they’ve been publishing poems in zines and anywhere else that would have them for 12 years and counting. This seemingly sudden arrival to the poetry scene with their debut collection was in fact built from years of work with mentors, studying craft, and honing their voice.
In fact, “the earliest poem of the book was written in 2018, and most of them were written from 2019 through 2022,” Ang said. The collection has “undergone somewhere between 10 and 100 revisions.” You could say they learned to write through the creation of this book. “I used to be a little bit anti-form, because I was like, oh, poetry shouldn't have rules. After reading a lot more poems, and reading a lot more poets who work really heavily with form, I began to see that it opened up a lot of possibilities, as opposed to being restrictive. My relationship with form has evolved, and I have a lot of fun with it now.”
And there is more to come. “I am working on something that will hopefully be a second book someday,” said Ang. “But right now it's just a bunch of poems in a Google Doc. What I'm thinking through in the new project is gender as a form, and how queerness is breaking that form and recreating it.”
What stands out most from our conversation is the idea that no art is made in a vacuum. It’s collective care and exchange—that comes in so many forms—that allowed this work to bubble up to our communal surface.
“A lot of people in Seattle, like Jane Wong and Luther Hughes and Cass Garrison, they're all influences to me,” said Ang. “Even though I also just see them around.” They also mentioned a Yin Yi workshop through Oneworld Publications that got them focused; their friend Serena Brown, whom they hired to help with order and structure; and South Korean poet Kim Hyesoon, whose grotesque, feminist work “gave me permission to lean into the more disgusting and gooey aspects of being a person and having a body.”
Ang leans hard into that permission in Let the Moon Wobble to explore the complexities of queer sex, alongside the gross weirdness of having a body at all. Inherent in these pages is a resistance to the kind of domesticated queerness Ellen DeGeneres made popular.
“There is this narrative that once you come out as queer and embrace your identity,” said Ang, “then you let go of all your internalized whatever, and just be proud all the time. That has certainly not been the experience for me. I am obviously very proud of my identities, and I feel pretty comfortable in who I am, but the lifetimes of shame that have accumulated in me are something that I don't know if I'll ever be done with. Even in moments of pleasure, intimacy, and ecstasy, that shame is also always present. Instead of trying to be like, ‘hashtag it gets better,’ it was important for me to be like, well, you know what, all of this is present: the pleasure and the shame and the disgust and the pride. It's all tangled up together.”
In their day job, Ang is a nonprofit fundraiser, and, when not writing, co-runs and cohosts a monthly reading series, Other People’s Poems, with Cody Stetzel at Open Books in Pioneer Square. People turn out, and the community built from this series is strong. And that’s the point. Ang is deeply invested in community, perhaps for reasons that stretch far beyond their own life.
“I don't think I'm going to be alive to see the downfall of capitalism, nor the rebuild of whatever [takes] its place. [But] we can take care of each other as our governments fail to take care of us. Like, people really do care about each other. The early days of the pandemic were actually the most optimistic I ever felt about the world, even though it was a really scary, uncertain time. People mobilized so quickly into mutual aid, taking care of each other, and creating pods. When the uprisings [after George Floyd’s murder] took place, people were training as street medics and doing jail support. I feel less optimistic than I did then because of how things have unfolded in the last five years. There's so much room for improvement, because so many people do fall through the cracks, and people who don't have strong networks of community don't tend to receive that care.”
This conversation took place before the eruption of protest and action in Minneapolis against ICE, but their words are a breathing example of how politics are always personal.
Of their collection and the very deeply personal in it, Ang said, “It feels scary to talk about the suicidal ideation stuff, or feeling hopeless and despairing about the world. I wrote [those pieces] at a very different point in my life, and it is weird to have this book coming out at a time when I want to be here, I want to be alive. I like my life for the most part. I don't know if I'll read those poems aloud at readings, because I don't want to go back to that. But it's important that it's there, because it was real, and I think it's real for a lot of other people, too. Which is why I also wanted to put a lot of joy and hope in the book, and not just linger in that really despairing place.”
In all of Ang’s energy and excitement about poetry, there is a wisdom and depth to the understanding that celebration is a necessary antidote to our losses and fuels our fight against the terrible, monstrous, murderous, sponsored, and authorized state-sanctioned violence across this country right now. We don’t know what’s coming, but Ang’s work is one way to prepare ourselves, one way to help keep ourselves and each other alive.
Friday Squid Blogging: Squid Fishing Tips [Schneier on Security]
This is a video of advice for squid fishing in Puget Sound.
As usual, you can also use this squid post to talk about the security stories in the news that I haven’t covered.
Remembering the 1919 Seattle General Strike [The Stranger]
It’s time. by Conor Kelley
Today marks the 107th anniversary of the 1919 Seattle General Strike, a five-day work stoppage protesting low wages and rampant union-busting by wealthy corporation owners. Sound familiar?
The strike began in the union shipyards and spread to the entire city. Shipbuilders were furious when shipyard owners, rich off World War I profits, offered a pay increase only to “skilled” workers in an attempt to divide their union. A citywide poll found a strike was very popular. It was on. Of Seattle’s 315,000 residents, 65,000 (20 percent) hit the streets. During the work stoppage, Seattleites took care of the city and one another, collecting garbage and opening food halls. But it was nothing like business as usual. Shops closed. Streetcars stopped.
A participant recalled, “Nothing moved but the tide.”
Seattle's mayor, the coward Ole Hanson, quickly deputized thousands of bootlickers into the police force and called in federal troops from Camp Lewis to try to crush the strike. Strikers laughed off days of empty threats from Hanson, but were unsure what to do next. Slowly, they lost faith and began to break off. By February 11, the strike was over, and somewhat inexplicably, Hanson was labeled a hero by national press. He resigned shortly after to focus on grifting, writing a book on the dangers of organized labor, embarking on a nationwide speaking tour, and even making a failed bid for the Republican presidential nomination. Then he moved to California and lost all his money in the Great Depression. Whoops!
The strike was popular. It was big and sustained. So why did it fizzle out? The strikers had no clear demands.
The recent nationwide general strikes are different. Last month, protestors clearly demanded ICE out of our communities, justice for Renée Good and Alex Pretti, the defunding of ICE, and for companies to refuse ICE entry into their workplaces.
Those demands remain unmet.
As Faye Guenther, president of UFCW 3000, said on KUOW’s recent segment on the current general strikes: “There can be no more ‘business as usual’ when the federal government turns on its own people.”
It’s time.
New Books and Arcs, 2/6/26 [Whatever]

It’s February, again, and look! The groundhog brought a bunch of books with him! What here would you like to keep with you during the coldest part of the year? Share in the comments!
— JS
I Am in the Epstein Files [Schneier on Security]
Once. Someone named “Vincenzo lozzo” wrote to Epstein in email, in 2016: “I wouldn’t pay too much attention to this, Schneier has a long tradition of dramatizing and misunderstanding things.” The topic of the email is DDoS attacks, and it is unclear what I am dramatizing and misunderstanding.
Rabbi Schneier is also mentioned, also incidentally, also once. As far as either of us know, we are not related.
EDITED TO ADD (2/7): There is more context on the Justice.gov website version.
Reproducible Builds: Reproducible Builds in January 2026 [Planet Debian]
Welcome to the first monthly report in 2026 from the Reproducible Builds project!
These reports outline what we’ve been up to over the past month, highlighting items of news from elsewhere in the increasingly-important area of software supply-chain security. As ever, if you are interested in contributing to the Reproducible Builds project, please see the Contribute page on our website.
Flathub, the primary repository/app store for Flatpak-based applications, has begun checking for build reproducibility. According to a recent blog post:
We have started testing binary reproducibility of
x86_64builds targeting the stable repository. This is possible thanks to flathub-repro-checker, a tool doing the necessary legwork to recreate the build environment and compare the result of the rebuild with what is published on Flathub. While these tests have been running for a while now, we have recently restarted them from scratch after enabling S3 storage for diffoscope artifacts.
The test results and status is available on their reproducible builds page.
Longtime Reproducible Builds developer Bernhard M. Wiedemann posted on Reddit on “Y2K38 commemoration day T-12” — that is to say, twelve years to the day before the UNIX Epoch will no longer fit into a signed 32-bit integer variable on 19th January 2038.
Bernhard’s comment succinctly outlines the problem as well
as notes some of the potential remedies, as well as links to a
discussion with the GCC developers regarding “adding
warnings for int →
time_t
conversions”.
At the time of publication, Bernard’s topic had generated 50 comments in response.
Conda is language-agnostic package manager which was originally developed to help Python data scientists and is now a popular package manager for Python and R.
conda-forge, a community-led infrastructure for Conda recently revamped their dashboards to rebuild packages straight to track reproducibility. There have been changes over the past two years to make the conda-forge build tooling fully reproducible by embedding the ‘lockfile’ of the entire build environment inside the packages.
In Debian this month:
Scott Talbert
uploaded a new version of dh-haskell
(0.6.13), reverting parallel support as it broke reproducibility,
thereby fixing Debian bug #1125000.
Vagrant Cascadian posted to our
mailing list on the topic of
“Duplicate Debian packages with matching name-version-arch
problem”. The issue is that .buildinfo files only
“record the package name, version and architecture of the
build-dependencies (and perhaps a bit more), but there are corner
cases where multiple artifacts have the same name, version and
architecture”. This generated
some discussion on the mailing list as well as elsewhere in
Debian.
Roland Clobus also posted to our mailing list regarding
Building Debian Live images from snapshot.debian.org.
This surfaced an issue regarding the timestamps of the .deb file, leading to
Roland filing Debian bug #1126000 to liaise with the
developers of the snapshot.debian.org
service.
A change was made to migrate away from using the results from tests.reproducible-builds.org in deciding whether a package is a suitable candidate for the Debian testing distribution (the staging area for the next stable Debian release) to use the results from reproduce.debian.net instead. This was, according to Paul Gevers’ merge request, because the former service “does so by building twice in a row with varying build environment. What we are actually interested in is if the binaries that we ship can be reproduced”. The information provided by reproduce.debian.net in future will be used to delay or speed up packages’ migration time based on their reproducibility status, and further in the future shall be used to block unreproducible packages from migrating entirely.
41 reviews of Debian packages were added, 7 were updated and 37
were removed this month adding to our
knowledge about identified issues. Chris Lamb identified and
added a new
source_date_epoch_affected_by_timezone_by_d_compiler_gdc
issue type, as well as
timezone_variant_in_argparse_manpage.
In NixOS this month, it was announced
that the
GNU Guix Full Source Bootstrap was ported to
NixOS as part of Wire Jansen
bachelor’s thesis (PDF).
At the time of publication, this change has
landed in NiX’
stdev
distribution.
Lastly, Bernhard M. Wiedemann posted another openSUSE monthly update for his work there.
diffoscope
is our in-depth and content-aware diff utility that can locate and
diagnose reproducibility issues. This month, Chris Lamb made the
following changes, including preparing and uploading versions,
310
and
311
to Debian.
2026-01.
[…]Rules-Requires-Root:
no entry in debian/control.
[…]Standards-Version to
4.7.3. […]ocaml package instead
of ocaml-nox. (#1125094)Priority: optional
from debian/control.
[…]In addition, Holger Levsen uploaded two versions of
disorderfs, first updating the package from FUSE 2
to
FUSE 3 as described in last months
report, as well as updating the packaging to the latest Debian
standards. A
second upload (0.6.2-1) was
subsequently made, with Holger adding instructions on how to add
the upstream release to our release archive and incorporating
changes by Roland Clobus to set _FILE_OFFSET_BITS on
32-bit platforms, fixing a build failure on 32-bit systems. Vagrant
Cascadian updated diffoscope in GNU Guix to version
311-2-ge4ec97f7
and disorderfs to
0.6.2.
Julien Malka, Stefano Zacchiroli and Théo Zimmermann of Télécom Paris’ in-house research laboratory, the Information Processing and Communications Laboratory (LTCI) published a paper this month titled Docker Does Not Guarantee Reproducibility:
[…] While Docker is frequently cited in the literature as a tool that enables reproducibility in theory, the extent of its guarantees and limitations in practice remains under-explored. In this work, we address this gap through two complementary approaches. First, we conduct a systematic literature review to examine how Docker is framed in scientific discourse on reproducibility and to identify documented best practices for writing
Dockerfiles enabling reproducible image building. Then, we perform a large-scale empirical study of 5,298 Docker builds collected from GitHub workflows. By rebuilding these images and comparing the results with their historical counterparts, we assess the real reproducibility of Docker images and evaluate the effectiveness of the best practices identified in the literature.
A PDF of their paper is available online.
Quentin Guilloteau, Antoine Waehren and Florina M. Ciorba of the University of Basel in Sweden also published a Docker-related paper, theirs called Longitudinal Study of the Software Environments Produced by Dockerfiles from Research Artifacts:
The reproducibility crisis has affected all scientific disciplines, including computer science (CS). To address this issue, the CS community has established artifact evaluation processes at conferences and in journals to evaluate the reproducibility of the results shared in publications. Authors are therefore required to share their artifacts with reviewers, including code, data, and the software environment necessary to reproduce the results. One method for sharing the software environment proposed by conferences and journals is to utilize container technologies such as Docker and Apptainer. However, these tools rely on non-reproducible tools, resulting in non-reproducible containers. In this paper, we present a tool and methodology to evaluate variations over time in software environments of container images derived from research artifacts. We also present initial results on a small set of
Dockerfilesfrom the Euro-Par 2024 conference.
A PDF of their paper is available online.
On our mailing list this month:
kpcyrd started a thread after they noticed that “SWHID (also known as ISO/IEC 18670:2025) was published 1.0 in 2022 and ISO standardized in 2025, but uses the insecure SHA-1 as core cryptographic primitive”, asking whether there have been any attempts to upgrade this to SHA-256 or similar.
Jan-Benedict Glaw asked about the
Reproducibility for Libreoffice [when performing] ODT to PDF
conversion after they observed that “simply calling
libreoffice
--convert-to pdf some.odt results in unreproducible output
PDF. After
some replies, Jan-Benedict wrote back to observe that it may be
an issue with both timestamps and embedded fonts.
Lastly, kpcyrd added a Rust section to the Stable order for outputs page on our website. […]
The Reproducible Builds project detects, dissects and attempts to fix as many currently-unreproducible packages as possible. We endeavour to send all of our patches upstream where appropriate. This month, we wrote a large number of such patches, including:
Bernhard M. Wiedemann:
clamavkf6-kuserfeedback
libaomNimotpSwitcheroo (by
Khaleel Al-Adhami)uwsmZEOChris Lamb:
sqlalchemy-i18n.tea-cli.libimage-librsvg-perl.seer.
grabix.hovercraft.
lomiri-location-service.argparse-manpage.xarray-safe-rcm.
gcc-15 (forwarded
upstream).Jochen Sprickerhof:
rsyslog.dh-haskell.
Finally, if you are interested in contributing to the Reproducible Builds project, please visit our Contribute page on our website. However, you can get in touch with us via:
IRC: #reproducible-builds
on irc.oftc.net.
Mastodon: @reproducible_builds@fosstodon.org
Mailing list:
rb-general@lists.reproducible-builds.org
I Saw U: Wearing a Columbo-Ass Raincoat, Joking About a Horse Romantasy Book, and Slipping on the Wet Sidewalk [The Stranger]
Is it a match? Leave a comment here or on our Instagram post to connect! by Anonymous
Me: Pink raincoat You: Bruce Harrell
Standing in the doorway of the US Bank Center, on the phone, in your Columbo-ass raincoat (he wore it better). Blocking a doorway, on the phone, presumably avoiding the rain (it had stopped raining). Typical Brucie Baby, unaware of others and being in the way.
Cute Dude in Rain That Slipped
Walking down Spring St. Me with small dog, you with umbrella. You slipped on a metal plate. I made sure you were okay and we chatted for a few blocks.
Broadway Complementary
You stopped me by Dick’s to effusively compliment my earrings and eyeliner. I fully failed to return the favor. Gimme an opportunity to call you cute?
ESMERALDA VASQUEZ
bear beanie @ dick’s 19c burgers
you: in line, tan bear beanie, blonde. me: blue jacket, hoodie, in my car w friends. I waved goodbye, you waved back. dinner on me next time?
horse romantasy book @ ophelia’s 1/5
Joking about a horse romantasy book with Ophelias’ staff when I saw you...brunette w/tortoiseshell glasses & northface shoes. Can I buy you a coffee?
ESMERALDA VASQUEZ
High Rail Movie Night
I was high on the lightrail and you were coming home from a SIFF premier with a friend. We chatted and laughed before I got off. Never asked your name
Is it a match? Leave a comment here or on our Instagram post to connect!
Did you see someone? Say something! Submit your own I Saw U message here and maybe we'll include it in the next roundup!
The Best Bang for Your Buck Events in Seattle This Weekend: Feb 6–8, 2026 [The Stranger]
LFG Seattle! Hawks are in Benito Bowl and we've got weekend picks from Hidden Hall's Super Bowl LX Watch Party to the Lunar New Year Night Market and from Linda From Work, Zookraught, & Killbuzz to the Seattle Bike Swap. Check out our top picks of the week for more things to do.
FRIDAY PARTIES & NIGHTLIFEDown
the Rabbit Hole
Step right up, girls, gays, and theys for Queer/Bar’s
one-night-only floral, acid-trip dance fantasy takeover! What is a
floral, acid-trip fantasy? No idea, but it sounds wonderfully
whimsical, and that’s enough. For this Alice in
Wonderland-esque evening, the bar splits into two microcosms.
Downstairs is a garden rave with go-gos, vendors, and silky house
grooves from Ash Wave and Café Nico. Upstairs, the mini bar
morphs into the Rabbit Hole Stage, where Bearbie and Pauliné
deliver a darker, dirtier set amplified by lasers, lights, and
mind-melting visuals. Come dance, wander, trip, “but not to
fall.” LANGSTON THOMAS
(Queer Bar, Capitol Hill, $10-$15)
| Feed | RSS | Last fetched | Next fetched after |
|---|---|---|---|
| @ASmartBear | XML | 20:49, Wednesday, 11 February | 21:30, Wednesday, 11 February |
| a bag of four grapes | XML | 20:42, Wednesday, 11 February | 21:24, Wednesday, 11 February |
| Ansible | XML | 20:49, Wednesday, 11 February | 21:29, Wednesday, 11 February |
| Bad Science | XML | 20:35, Wednesday, 11 February | 21:24, Wednesday, 11 February |
| Black Doggerel | XML | 20:49, Wednesday, 11 February | 21:30, Wednesday, 11 February |
| Blog - Official site of Stephen Fry | XML | 20:35, Wednesday, 11 February | 21:24, Wednesday, 11 February |
| Charlie Brooker | The Guardian | XML | 20:42, Wednesday, 11 February | 21:24, Wednesday, 11 February |
| Charlie's Diary | XML | 20:21, Wednesday, 11 February | 21:09, Wednesday, 11 February |
| Chasing the Sunset - Comics Only | XML | 20:35, Wednesday, 11 February | 21:24, Wednesday, 11 February |
| Coding Horror | XML | 20:21, Wednesday, 11 February | 21:08, Wednesday, 11 February |
| Cory Doctorow's craphound.com | XML | 20:42, Wednesday, 11 February | 21:24, Wednesday, 11 February |
| Cory Doctorow, Author at Boing Boing | XML | 20:49, Wednesday, 11 February | 21:30, Wednesday, 11 February |
| Ctrl+Alt+Del Comic | XML | 20:21, Wednesday, 11 February | 21:09, Wednesday, 11 February |
| Cyberunions | XML | 20:35, Wednesday, 11 February | 21:24, Wednesday, 11 February |
| David Mitchell | The Guardian | XML | 20:21, Wednesday, 11 February | 21:04, Wednesday, 11 February |
| Deeplinks | XML | 20:21, Wednesday, 11 February | 21:05, Wednesday, 11 February |
| Diesel Sweeties webcomic by rstevens | XML | 20:21, Wednesday, 11 February | 21:04, Wednesday, 11 February |
| Dilbert | XML | 20:35, Wednesday, 11 February | 21:24, Wednesday, 11 February |
| Dork Tower | XML | 20:42, Wednesday, 11 February | 21:24, Wednesday, 11 February |
| Economics from the Top Down | XML | 20:21, Wednesday, 11 February | 21:04, Wednesday, 11 February |
| Edmund Finney's Quest to Find the Meaning of Life | XML | 20:21, Wednesday, 11 February | 21:04, Wednesday, 11 February |
| EFF Action Center | XML | 20:21, Wednesday, 11 February | 21:04, Wednesday, 11 February |
| Enspiral Tales - Medium | XML | 20:21, Wednesday, 11 February | 21:06, Wednesday, 11 February |
| Falkvinge on Liberty | XML | 20:21, Wednesday, 11 February | 21:09, Wednesday, 11 February |
| Flipside | XML | 20:42, Wednesday, 11 February | 21:24, Wednesday, 11 February |
| Flipside | XML | 20:21, Wednesday, 11 February | 21:06, Wednesday, 11 February |
| Free software jobs | XML | 20:49, Wednesday, 11 February | 21:29, Wednesday, 11 February |
| Full Frontal Nerdity by Aaron Williams | XML | 20:21, Wednesday, 11 February | 21:09, Wednesday, 11 February |
| General Protection Fault: Comic Updates | XML | 20:21, Wednesday, 11 February | 21:09, Wednesday, 11 February |
| George Monbiot | XML | 20:21, Wednesday, 11 February | 21:04, Wednesday, 11 February |
| Girl Genius | XML | 20:21, Wednesday, 11 February | 21:04, Wednesday, 11 February |
| Groklaw | XML | 20:21, Wednesday, 11 February | 21:09, Wednesday, 11 February |
| Grrl Power | XML | 20:42, Wednesday, 11 February | 21:24, Wednesday, 11 February |
| Hackney Anarchist Group | XML | 20:35, Wednesday, 11 February | 21:24, Wednesday, 11 February |
| Hackney Solidarity Network | XML | 20:21, Wednesday, 11 February | 21:06, Wednesday, 11 February |
| http://blog.llvm.org/feeds/posts/default | XML | 20:21, Wednesday, 11 February | 21:06, Wednesday, 11 February |
| http://calendar.google.com/calendar/feeds/q7s5o02sj8hcam52hutbcofoo4%40group.calendar.google.com/public/basic | XML | 20:49, Wednesday, 11 February | 21:29, Wednesday, 11 February |
| http://dynamic.boingboing.net/cgi-bin/mt/mt-cp.cgi?__mode=feed&_type=posts&blog_id=1&id=1 | XML | 20:21, Wednesday, 11 February | 21:06, Wednesday, 11 February |
| http://eng.anarchoblogs.org/feed/atom/ | XML | 21:00, Wednesday, 11 February | 21:46, Wednesday, 11 February |
| http://feed43.com/3874015735218037.xml | XML | 21:00, Wednesday, 11 February | 21:46, Wednesday, 11 February |
| http://flatearthnews.net/flatearthnews.net/blogfeed | XML | 20:49, Wednesday, 11 February | 21:30, Wednesday, 11 February |
| http://fulltextrssfeed.com/ | XML | 20:21, Wednesday, 11 February | 21:04, Wednesday, 11 February |
| http://london.indymedia.org/articles.rss | XML | 20:21, Wednesday, 11 February | 21:08, Wednesday, 11 February |
| http://pipes.yahoo.com/pipes/pipe.run?_id=ad0530218c055aa302f7e0e84d5d6515&_render=rss | XML | 21:00, Wednesday, 11 February | 21:46, Wednesday, 11 February |
| http://planet.gridpp.ac.uk/atom.xml | XML | 20:21, Wednesday, 11 February | 21:08, Wednesday, 11 February |
| http://shirky.com/weblog/feed/atom/ | XML | 20:21, Wednesday, 11 February | 21:05, Wednesday, 11 February |
| http://thecommune.co.uk/feed/ | XML | 20:21, Wednesday, 11 February | 21:06, Wednesday, 11 February |
| http://theness.com/roguesgallery/feed/ | XML | 20:21, Wednesday, 11 February | 21:09, Wednesday, 11 February |
| http://www.airshipentertainment.com/buck/buckcomic/buck.rss | XML | 20:35, Wednesday, 11 February | 21:24, Wednesday, 11 February |
| http://www.airshipentertainment.com/growf/growfcomic/growf.rss | XML | 20:21, Wednesday, 11 February | 21:05, Wednesday, 11 February |
| http://www.airshipentertainment.com/myth/mythcomic/myth.rss | XML | 20:42, Wednesday, 11 February | 21:24, Wednesday, 11 February |
| http://www.baen.com/baenebooks | XML | 20:21, Wednesday, 11 February | 21:05, Wednesday, 11 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 | 20:21, Wednesday, 11 February | 21:05, Wednesday, 11 February |
| http://www.godhatesastronauts.com/feed/ | XML | 20:21, Wednesday, 11 February | 21:09, Wednesday, 11 February |
| http://www.tinycat.co.uk/feed/ | XML | 20:49, Wednesday, 11 February | 21:29, Wednesday, 11 February |
| https://anarchism.pageabode.com/blogs/anarcho/feed/ | XML | 20:21, Wednesday, 11 February | 21:05, Wednesday, 11 February |
| https://broodhollow.krisstraub.comfeed/ | XML | 20:49, Wednesday, 11 February | 21:30, Wednesday, 11 February |
| https://debian-administration.org/atom.xml | XML | 20:49, Wednesday, 11 February | 21:30, Wednesday, 11 February |
| https://elitetheatre.org/ | XML | 20:21, Wednesday, 11 February | 21:08, Wednesday, 11 February |
| https://feeds.feedburner.com/Starslip | XML | 20:42, Wednesday, 11 February | 21:24, Wednesday, 11 February |
| https://feeds2.feedburner.com/GeekEtiquette?format=xml | XML | 20:21, Wednesday, 11 February | 21:04, Wednesday, 11 February |
| https://hackbloc.org/rss.xml | XML | 20:49, Wednesday, 11 February | 21:30, Wednesday, 11 February |
| https://kajafoglio.livejournal.com/data/atom/ | XML | 20:35, Wednesday, 11 February | 21:24, Wednesday, 11 February |
| https://philfoglio.livejournal.com/data/atom/ | XML | 20:21, Wednesday, 11 February | 21:08, Wednesday, 11 February |
| https://pixietrixcomix.com/eerie-cutiescomic.rss | XML | 20:21, Wednesday, 11 February | 21:08, Wednesday, 11 February |
| https://pixietrixcomix.com/menage-a-3/comic.rss | XML | 20:21, Wednesday, 11 February | 21:05, Wednesday, 11 February |
| https://propertyistheft.wordpress.com/feed/ | XML | 20:49, Wednesday, 11 February | 21:29, Wednesday, 11 February |
| https://requiem.seraph-inn.com/updates.rss | XML | 20:49, Wednesday, 11 February | 21:29, Wednesday, 11 February |
| https://studiofoglio.livejournal.com/data/atom/ | XML | 21:00, Wednesday, 11 February | 21:46, Wednesday, 11 February |
| https://thecommandline.net/feed/ | XML | 21:00, Wednesday, 11 February | 21:46, Wednesday, 11 February |
| https://torrentfreak.com/subscriptions/ | XML | 20:21, Wednesday, 11 February | 21:04, Wednesday, 11 February |
| https://web.randi.org/?format=feed&type=rss | XML | 20:21, Wednesday, 11 February | 21:04, Wednesday, 11 February |
| https://www.dcscience.net/feed/medium.co | XML | 20:35, Wednesday, 11 February | 21:24, Wednesday, 11 February |
| https://www.DropCatch.com/domain/steampunkmagazine.com | XML | 20:49, Wednesday, 11 February | 21:30, Wednesday, 11 February |
| https://www.DropCatch.com/domain/ubuntuweblogs.org | XML | 21:00, Wednesday, 11 February | 21:46, Wednesday, 11 February |
| https://www.DropCatch.com/redirect/?domain=DyingAlone.net | XML | 20:21, Wednesday, 11 February | 21:08, Wednesday, 11 February |
| https://www.freedompress.org.uk:443/news/feed/ | XML | 20:21, Wednesday, 11 February | 21:09, Wednesday, 11 February |
| https://www.goblinscomic.com/category/comics/feed/ | XML | 20:49, Wednesday, 11 February | 21:29, Wednesday, 11 February |
| https://www.loomio.com/blog/feed/ | XML | 21:00, Wednesday, 11 February | 21:46, Wednesday, 11 February |
| https://www.newstatesman.com/feeds/blogs/laurie-penny.rss | XML | 20:49, Wednesday, 11 February | 21:30, Wednesday, 11 February |
| https://www.patreon.com/graveyardgreg/posts/comic.rss | XML | 20:21, Wednesday, 11 February | 21:08, Wednesday, 11 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 | 20:21, Wednesday, 11 February | 21:04, Wednesday, 11 February |
| https://x.com/statuses/user_timeline/22724360.rss | XML | 20:49, Wednesday, 11 February | 21:29, Wednesday, 11 February |
| Humble Bundle Blog | XML | 20:21, Wednesday, 11 February | 21:08, Wednesday, 11 February |
| I, Cringely | XML | 20:21, Wednesday, 11 February | 21:09, Wednesday, 11 February |
| Irregular Webcomic! | XML | 20:49, Wednesday, 11 February | 21:30, Wednesday, 11 February |
| Joel on Software | XML | 21:00, Wednesday, 11 February | 21:46, Wednesday, 11 February |
| Judith Proctor's Journal | XML | 20:49, Wednesday, 11 February | 21:29, Wednesday, 11 February |
| Krebs on Security | XML | 20:49, Wednesday, 11 February | 21:30, Wednesday, 11 February |
| Lambda the Ultimate - Programming Languages Weblog | XML | 20:49, Wednesday, 11 February | 21:29, Wednesday, 11 February |
| Looking For Group | XML | 20:21, Wednesday, 11 February | 21:05, Wednesday, 11 February |
| LWN.net | XML | 20:49, Wednesday, 11 February | 21:30, Wednesday, 11 February |
| Mimi and Eunice | XML | 20:21, Wednesday, 11 February | 21:06, Wednesday, 11 February |
| Neil Gaiman's Journal | XML | 20:49, Wednesday, 11 February | 21:29, Wednesday, 11 February |
| Nina Paley | XML | 20:21, Wednesday, 11 February | 21:08, Wednesday, 11 February |
| O Abnormal – Scifi/Fantasy Artist | XML | 20:21, Wednesday, 11 February | 21:06, Wednesday, 11 February |
| Oglaf! -- Comics. Often dirty. | XML | 20:21, Wednesday, 11 February | 21:09, Wednesday, 11 February |
| Oh Joy Sex Toy | XML | 20:21, Wednesday, 11 February | 21:05, Wednesday, 11 February |
| Order of the Stick | XML | 20:21, Wednesday, 11 February | 21:05, Wednesday, 11 February |
| Original Fiction Archives - Reactor | XML | 20:42, Wednesday, 11 February | 21:24, Wednesday, 11 February |
| OSnews | XML | 20:21, Wednesday, 11 February | 21:06, Wednesday, 11 February |
| Past Events | XML | 20:21, Wednesday, 11 February | 21:09, Wednesday, 11 February |
| Paul Graham: Unofficial RSS Feed | XML | 20:21, Wednesday, 11 February | 21:06, Wednesday, 11 February |
| Penny Arcade | XML | 20:42, Wednesday, 11 February | 21:24, Wednesday, 11 February |
| Penny Red | XML | 20:21, Wednesday, 11 February | 21:06, Wednesday, 11 February |
| PHD Comics | XML | 20:35, Wednesday, 11 February | 21:24, Wednesday, 11 February |
| Phil's blog | XML | 20:21, Wednesday, 11 February | 21:09, Wednesday, 11 February |
| Planet Debian | XML | 20:21, Wednesday, 11 February | 21:06, Wednesday, 11 February |
| Planet GNU | XML | 20:49, Wednesday, 11 February | 21:30, Wednesday, 11 February |
| Planet Lisp | XML | 20:35, Wednesday, 11 February | 21:24, Wednesday, 11 February |
| Pluralistic: Daily links from Cory Doctorow | XML | 20:49, Wednesday, 11 February | 21:29, Wednesday, 11 February |
| PS238 by Aaron Williams | XML | 20:21, Wednesday, 11 February | 21:09, Wednesday, 11 February |
| QC RSS | XML | 20:21, Wednesday, 11 February | 21:08, Wednesday, 11 February |
| Radar | XML | 20:42, Wednesday, 11 February | 21:24, Wednesday, 11 February |
| RevK®'s ramblings | XML | 21:00, Wednesday, 11 February | 21:46, Wednesday, 11 February |
| Richard Stallman's Political Notes | XML | 20:35, Wednesday, 11 February | 21:24, Wednesday, 11 February |
| Scenes From A Multiverse | XML | 20:21, Wednesday, 11 February | 21:08, Wednesday, 11 February |
| Schneier on Security | XML | 20:49, Wednesday, 11 February | 21:29, Wednesday, 11 February |
| SCHNEWS.ORG.UK | XML | 20:21, Wednesday, 11 February | 21:05, Wednesday, 11 February |
| Scripting News | XML | 20:42, Wednesday, 11 February | 21:24, Wednesday, 11 February |
| Seth's Blog | XML | 21:00, Wednesday, 11 February | 21:46, Wednesday, 11 February |
| Skin Horse | XML | 20:42, Wednesday, 11 February | 21:24, Wednesday, 11 February |
| Spinnerette | XML | 20:21, Wednesday, 11 February | 21:05, Wednesday, 11 February |
| Tales From the Riverbank | XML | 20:35, Wednesday, 11 February | 21:24, Wednesday, 11 February |
| The Adventures of Dr. McNinja | XML | 20:21, Wednesday, 11 February | 21:06, Wednesday, 11 February |
| The Bumpycat sat on the mat | XML | 20:49, Wednesday, 11 February | 21:29, Wednesday, 11 February |
| The Daily WTF | XML | 21:00, Wednesday, 11 February | 21:46, Wednesday, 11 February |
| The Monochrome Mob | XML | 20:49, Wednesday, 11 February | 21:30, Wednesday, 11 February |
| The Non-Adventures of Wonderella | XML | 20:21, Wednesday, 11 February | 21:04, Wednesday, 11 February |
| The Old New Thing | XML | 20:21, Wednesday, 11 February | 21:05, Wednesday, 11 February |
| The Open Source Grid Engine Blog | XML | 20:21, Wednesday, 11 February | 21:08, Wednesday, 11 February |
| The Stranger | XML | 20:21, Wednesday, 11 February | 21:06, Wednesday, 11 February |
| towerhamletsalarm | XML | 21:00, Wednesday, 11 February | 21:46, Wednesday, 11 February |
| Twokinds | XML | 20:42, Wednesday, 11 February | 21:24, Wednesday, 11 February |
| UK Indymedia Features | XML | 20:42, Wednesday, 11 February | 21:24, Wednesday, 11 February |
| Uploads from ne11y | XML | 21:00, Wednesday, 11 February | 21:46, Wednesday, 11 February |
| Uploads from piasladic | XML | 20:21, Wednesday, 11 February | 21:04, Wednesday, 11 February |
| Use Sword on Monster | XML | 20:21, Wednesday, 11 February | 21:08, Wednesday, 11 February |
| Wayward Sons: Legends - Sci-Fi Full Page Webcomic - Updates Daily | XML | 21:00, Wednesday, 11 February | 21:46, Wednesday, 11 February |
| what if? | XML | 20:49, Wednesday, 11 February | 21:30, Wednesday, 11 February |
| Whatever | XML | 20:35, Wednesday, 11 February | 21:24, Wednesday, 11 February |
| Whitechapel Anarchist Group | XML | 20:35, Wednesday, 11 February | 21:24, Wednesday, 11 February |
| WIL WHEATON dot NET | XML | 20:21, Wednesday, 11 February | 21:05, Wednesday, 11 February |
| wish | XML | 20:21, Wednesday, 11 February | 21:06, Wednesday, 11 February |
| Writing the Bright Fantastic | XML | 20:21, Wednesday, 11 February | 21:05, Wednesday, 11 February |
| xkcd.com | XML | 20:21, Wednesday, 11 February | 21:04, Wednesday, 11 February |