I Saw U: Hugging Outside La Dive, Buying Soup at Trader Joe’s, and Giving a Rectal Exam in the ER [The Stranger]
Did you see someone? Say something! by Anonymous
Illustrations by Helen Nesburg
three friends on the one line
you and your friends hopped on the packed 1 line yesterday as i was heading home, but your black/blond hair combo got me, hmu?
huggers outside la dive 1/5
Seattle, we don’t hug enough. Or at least not like the two I saw last Thursday night. That was an EMBRACE. TY for keeping romance and whimsy alive.
Drugged up and down bad
Me: I’m the ER for a broken back. You: hot doctor who had to give me a rectal exam. Let’s break HIPPA?
u know how to whistle don't you steve
to have and have not @ SIFF. same stop on D line. i regret not saying hi! u have good taste in clothes & movies. thin man @ central cinema next month?
My heart stopped in the soup aisle
Cap Hill TJ’s 2/11 6pm. You: Dark ponytail, glasses, 2 black panniers, rolled up pant leg Me: Blue coat, short brown beard, wishing I paused when we locked eyes by your bike
Compliments @ st. Bread 2/6
you, blonde cutie w/ a blue bag and “mt. st. helens pin” me: wearing an orange knitted hat. You complimented my hat and name. Baked goods on me?
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!
Admiring Our Heroes for International Women’s Day: Five Women In Tech That EFF Admires [Deeplinks]
In honor of International Women’s Day, we asked five women at EFF about women in digital rights, freedom of expression, technology, and tech activism who have inspired us.
Jillian York,
Activist
This International
Women’s Day, I want to honor the memory of Anna
Politkovskaya, the Russian investigative journalist who
relentlessly exposed political and social abuses,
endured harassment and violence for her work, and
was ultimately killed for telling the truth. I had just
started my career when I learned of her death, and it forced me to
confront that freedom of expression isn’t an
abstract principle but rather something people
risk—and sometimes lose—their lives
for.
Her story reminds me that journalism at its best is an act of moral courage, not just a profession. In the face of threats, poison, and relentless pressure to stay silent, she chose to continue writing about what she saw, insisting that ordinary people’s lives were worth the world’s attention. She refused to compromise with power, even when she knew it could cost her life. To me, defending freedom of expression means defending those like Anna who bear witness to injustice, prioritize truth, and hold power to account for those whose voices are silenced.
Corynne McSherry, Legal
Director
There are so many
women who have shaped tech history–most of whom are still
unsung heroes—that it’s hard to single out
just one. But it’s easier this year
because it’s a chance to celebrate my boss, Cindy
Cohn, before she leaves EFF for her next
adventure.
Cindy has been fighting for our digital rights for 30 years. leading EFF’s legal work and eventually the whole organization. She helped courts understand that code is speech deserving of constitutional protections at a time when many judges weren’t entirely sure what code even was. She led the fight against NSA spying, and even though outdated and ill-fitting doctrines like the state secrets privilege prevented courts from ruling on the obvious unconstitutionality of the NSA’s mass surveillance program, the fight itself led to real reforms that have expanded over time.
I’ve worked closely with her for much of her EFF career, starting in 2005 when we sued Sony for installing spyware in millions of computers, and I’ve seen firsthand her work as a visionary lawyer, outstanding writer, and tireless champion for user privacy, free expression, and innovation. She’s also warm and funny, with the biggest heart in the world, and I’m proud to call her a friend as well as a mentor.
Sarah Hamid,
Activist
When talking about
women in tech, we usually mean founders, engineers, and executives.
But just as important are the women who quietly built the practices
that underpin today’s movement security
culture.
For as long as social movements have organized in the shadow of state surveillance, women have been designing the protocols, mutual aid networks, and information flows that keep people alive. Those threats feel ever-escalating: fusion‑center monitoring of protests, federal agencies infiltrating and subpoenaing encrypted Signal and social media chats, prosecutors mining search histories.
In the late 1960s and early 1970s, the underground Jane abortion counseling service—formally the Abortion Counseling Service of Women’s Liberation—built what we would now recognize as a feminist infosec project for abortion access. Jane connected an estimated 11,000 people with safer abortions before Roe v. Wade, using a single public phone number—“Call Jane”—paired with code names, compartmentalized roles, and minimal records so no one person held the full story of who needed care, who was providing it, and where. When Chicago police raided the collective in 1972, members destroyed their index‑card files rather than let them become a ready‑made map of patients and helpers—an analog secure‑deletion choice that should feel familiar to anyone who has ever wiped a phone or locked down a shared drive.
The lesson we should take from Jane is a set of principles that still hold in our encrypted‑but‑insecure present: Collect less, separate what you do collect, and be ready to burn the file box. When a search query, a location ping, or a solidarity post can become evidence, treating information as both lifeline and liability is not paranoia—it is care work.
Babette Ngene, Director of
Public Interest
Technology
In the winter of
2013, I had just landed my first job at the intersection of tech
and human rights, working for a prominent nonprofit and I
was encouraged to attend regular tech and policy events around
town. One such event on internet governance was happening at George
Washington Universit, focusing on
multistakeholder engagement on internet policy and governance
issues, with companies, nonprofits, and government representatives
in attendance. I was inexperienced with these
topics, and I’ll admit I was a bit
intimidated.
Then I saw her. She was the only woman on the opening panel, an African woman, an accomplished woman. Not only was she a respected lawyer at Yahoo at the time, but her impressive background, presence, and confident speaking style immediately inspired me. She made me feel like I, too, belonged in that room and could become a powerful voice.
Ebele Okobi would go on to become one of the most powerful and respected voices in the tech and human rights space, known for her advocacy for digital rights and responsible innovation across Africa and the broader global majority during her tenure at Facebook. Beyond her corporate advocacy, Ebele has consistently championed ethical technology and social justice. She embodies the leadership qualities I value most: empathy, speaking truth to power, integrity, and authenticity.
I remain in the tech and human rights space because I saw her, because seeing her made me feel seen. Representation truly does matter.
Allison Morris, Chief Development
Director
I’m not
a lawyer, activist, or technologist; I’m a
fundraiser and a lover of stories. And what storyteller at
EFF couldn’t help but love Ada Lovelace? The
daughter of Lord Byron – the human embodiment of
Romanticism – Ada was an innovator in math and
science and, ultimately, the writer of the
first computer program.
Lovelace saw the potential in Charles Babbage’s theoretical General Purpose Computer (which was never actually built) and created the foundations of modern computing long before the digital age. In creating the first computer code, Lovelace took Babbage’s concept of a machine that could perform mathematical calculations and realized that it could manipulate symbols as well as numbers.
Given the expectations of women in her time and the controversy of what work should be attributed to Lovelace as opposed to the man she often worked with, I can’t help but be inspired by her story.
Your donations empower EFF to do even more.
Mastodon: Good Mastodon accounts to follow for news?
The video was posted on Nov 18 last year. None of the news stories I found said what the date was or provided a link to the video.
Friday Squid Blogging: Squid in Byzantine Monk Cooking [Schneier on Security]
This is a very weird story about how squid stayed on the menu of Byzantine monks by falling between the cracks of dietary rules.
At Constantinople’s Monastery of Stoudios, the kitchen didn’t answer to appetite.
It answered to the “typikon”: a manual for ensuring that nothing unexpected happened at mealtimes. Meat: forbidden. Dairy: forbidden. Eggs: forbidden. Fish: feast-day only. Oil: regulated. But squid?
Squid had eight arms, no bones, and a gift for changing color. Nobody had bothered writing a regulation for that. This wasn’t a loophole born of legal creativity but an oversight rooted in taxonomic confusion. Medieval monks, confronted with a creature that was neither fish nor fowl, gave up and let it pass.
In a kitchen governed by prohibitions, the safest ingredient was the one that caused the least disturbance. Squid entered not with applause, but with a shrug.
Bonus stuffed squid recipe at the end.
As usual, you can also use this squid post to talk about the security stories in the news that I haven’t covered.
Haiku inches closer to next beta release [OSnews]
And when a Redox monthly progress report is here, Haiku’s monthly report is never far behind (or vice versa, depending on the month). Haiku’s February was definitely a busy month, but there’s no major tentpole changes or new features, highlighting just how close Haiku is to a new regular beta release. The OpenBSD drivers have been synchronised wit upstream to draw in some bugfixes, there’s a ton of smaller fixes to various applications like StyledEdit, Mail, and many more, as well a surprisingly lost list f various file system fixes, improving the drivers for file systems like NTFS, Btrfs, XFS, and others.
There’s more, of course, so just like with Redox, head on over to pour over the list of smaller changes, fixes, and improvements. Just like last month, I’d like to mention once again that you really don’t need to wait for the beta release to try out Haiku. The operating system has been in a fairly stable and solid condition for a long time now, and whatever’s the latest nightly will generally work just fine, and can be updated without reinstallation.
Redox gets NodeJS, COSMIC’s compositor, and much more [OSnews]
February has been a busy month for Redox, the general purpose operating system written in Rust. For instance, the COSMIC compositor can now run on Redox as a winit window, the first step towards fully porting the compositor from COSMIC to Redox. Similarly, COSMIC Settings now also runs on Redox, albeit with only a very small number of available settings as Redox-specific settings panels haven’t been made yet. It’s clear the effort to get the new COSMIC desktop environment from System76 running on Redox is in full swing.
Furthermore, Vulkan software can now run on Redox, thanks to enabling Lavapipe in Mesa3D. There’s also a ton of fixes related to the boot process, the reliability of multithreading has been improved, and there’s the usual long list of kernel, driver, and Relibc improvements as well. A major port comes in the form of NodeJS, which now runs on Redox, and helped in uncovering a number of bugs that needed to be fixed.
Of course, there’s way more in this month’s progress report, so be sure to head on over and read the whole thing.
Urgent: Repercussions of war in Middle East [Richard Stallman's Political Notes]
The war in the Middle East is having major repercussions, including strengthening ties between Russia and China. Robert Reich calls on Americans to phone their members of Congress in support of invoking Congress's power to stop the US intervention.
There is no need to worry about how this might affect subsequent events in Iran, because nobody in the US government has a plan anyway. One more random shuffle won't make it any more random than it already is.
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: Transfer military spending to human needs [Richard Stallman's Political Notes]
US citizens: call on Congress to transfer military spending to human needs.
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: Shut down US deportation prisons [Richard Stallman's Political Notes]
US citizens: call on Congress to shut down the US deportation prisons rather than permit them to continue torturing.
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.
Conn Selmer's factory moving production to China [Richard Stallman's Political Notes]
A billionaire supporter of the wrecker told the employees of Conn Selmer's factory that it will move production to China.
You can't expect a bullshitter to be sincere when he says he cares about your jobs.
People that needed rescue after military attacked boats [Richard Stallman's Political Notes]
After the US military attacked three unarmed boats on Dec 30, 8 people jumped into the stormy and dangerous water, and needed immediate rescue. The US military waited 40 hours to send a plane to try to rescue them. It did not find anyone.
No survivors have been rescued after any of these murder missions.
The article speculates that this was intentional — that commanders intended the survivors to die. What is indisputable is that they did not make a competent attempt to rescue the survivors.
UK and US medics who have denounced atrocities by Israelis [Richard Stallman's Political Notes]
Volunteer medics in UK and US who have denounced atrocities committed by Israelis that they witness while in Gaza say that Israel has refused to let them return to Gaza to work as medics again.
This retribution seems designed to intimidate present and future medics in Gaza so that they will help Israel cover up atrocities.
FBI investigating members of Extinction Rebellion [Richard Stallman's Political Notes]
The FBI is investigating members of Extinction Rebellion.
This is an instance of how the wrecker aims to get things backwards. The FBI ought to investigate those who are contributing, knowingly, to the danger of extinction.
Fuel use of plugin-in hybrid cars [Richard Stallman's Political Notes]
Many plug-in hybrid cars use considerably more fuel than manufacturers claim. How much more, varies from model to model.
FDA tried to reject flue mRNA vaccine [Richard Stallman's Political Notes]
The Food and Drug Administration tried to reject the new mRNA flu vaccine without even examining it, in accord with antivax ideology, but has changed its mind and will now examine it.
US wants alliance with right-wing countries [Richard Stallman's Political Notes]
The US told Europe it still wants an alliance — but only with tyrannical, right-wing countries.
The EU should avoid agreeing to this, and avoid being scared by the threats, while accepting the alliance as if it didn't have those conditions. This way it can play for time hoping the US kicks out these right-wing jerks, and use the time to prepare for the US to break off with them.
Digital systems to control parts of your home [Richard Stallman's Political Notes]
Aside from the danger of remote surveillance and control, digital systems to control parts of your home have a tendency to be too smart for your own good.
When I looked for an apartment in 2019, I rejected outright any building with digital rather than metal keys. I do not trust whoever controls the system not to track residents' movements. I also rejected outright any building with a security camera.
Increase in union workers despite attacks on unions [Richard Stallman's Political Notes]
Despite the bully's attacks on unions and unionizing rights, there was a small increase in 2025 in the number of union workers.
President of museum about US constitution fired [Richard Stallman's Political Notes]
The US government's museum about the US Constitution has fired its president, and people suspect he was fired because he wasn't a magat.
Long Covid still here [Richard Stallman's Political Notes]
*Long Covid is still here. I know – my life came to a stop because of it.*
Amazon Alexa listening device report [Richard Stallman's Political Notes]
Someone asked Amazon for a report on everything that their Alexa listening device had listened to since they first got it. It was enormous.
Think about which words Amazon might have set it up to alert various US government departments about — and which departments those might be. (That might depend on which country you are in.)
Amazon never hears anything in my home.
Journalists tortured in prison [Richard Stallman's Political Notes]
*The Committee to Protect Journalists (CPJ) reviewed dozens of testimonies, photographs and medical records documenting what it describes as serious abuses by Israeli soldiers and prison guards against Palestinian reporters. The report draws on in-depth interviews from 59 Palestinian journalists. Of those interviewed, 58 reported being subjected to what they described as torture [in prison].
"While conditions varied at different facilities, the methods those interviewed recounted – physical assaults, forced stress positions, sensory deprivation, sexual violence, and medical neglect – were strikingly consistent," the report states.*
Zohran Mamdani's comments on "globalize the intifada [Richard Stallman's Political Notes]
I just saw Zohran Mamdani's comments on "globalize the intifada" from last October, and his stance had much in common with mine.
I also recognize the tone of the criticism he received for discouraging that phrase. There are people whose attitude is, "If you reject my method of expressing disapproval of X, you're weak, and effectively a supporter of X." This reasoning is not valid.
Social media sites eliminating fact checking [Richard Stallman's Political Notes]
As part of the bullshitter's War on Truth, social media sites that suck up to him have eliminated fact checking. Since he equates fact-checking to censorship, they do too.
The difference between fact-checking and censorship is that the latter blocks or prohibits saying something, while the former labels it with a criticism that is labeled as such.
There is no absolute and inherently inerrant source of truth. Therefore, freedom of speech must include the freedom to make statements that others call "false". (If that becomes prohibited, everything that magats call "lies" will be censored.)
But that is no reason to get rid of fact checking.
Deportation thugs demanding antisocial media posts [Richard Stallman's Political Notes]
The US Department of Hatred and Sadism, parent organization of the deportation thugs, makes a practice of subpoenas to demand antisocial media hand over identifying information about users who post, track, or criticize deportation thugs.
This comes after convincing Google and Amazon to censor the special apps for exchanging information about where thug operations are taking place.
The pretext the thugs give is that this information might perhaps be used for planning violence against the thugs. That is a rather weak pretext, since violence started by protesters is very rare, whereas violence (sometimes deadly) by thugs against protesters and journalists is frequent.
That might be an argument for quashing the subpoenas, if anyone went to court to try to do that. But these companies, since they suck up to the persecutor anyway, don't resist the subpoenas very hard.
The long-term lesson from this is not to trust your data to a cloudy storage system under the influence of a Big Tech company. Especially not if company makes users identify themselves, or blocks them from connecting via Tor. Such a company is generally a willing tool for a fascist regime such as the persecutor is trying to impose on the US.
Apps for facial and iris scanning used by deportation thugs [Richard Stallman's Political Notes]
Deportation thugs use special apps for facial recognition and iris scanning.
US citizen George Retes arrested and jailed by deportation thugs [Richard Stallman's Political Notes]
US citizen George Retes was arrested by deportation thugs while he was commuting to work, then jailed for days without access to family, an attorney, or information about the charges against him. He is now free, and suing. I hope he wins, but this is not enough.
The fact that Retes is an Army veteran does not seem significant to me. It would be just as bad if they did this to someone who was never in the US military.
I believe in being very tough on government crime.
When individual official thugs break the law in a significant way, they deserves to pay a penalty, such as a prison sentence. When the government agency broke the law, the agency also should pay a penalty. But when the agency follows a general practice of breaking the law, and that practice was accepted by upper management, the upper management should get the prison sentence.
Law about 3D printers proposed in California [Richard Stallman's Political Notes]
A bill has been proposed in California to require all 3D printers to come equipped with gun-pattern detectors, starting in 2029.
In principle, I don't defend the right to make your own guns. I don't think what this law requires is inherently unjust.
However, there will be a tendency to implement it by making it impossible or illegal to modify the software in a 3D printer. That would be unjust.
Society's assumptions of how to collect and use data [Richard Stallman's Political Notes]
Criticizing society's assumptions of how to collect and then use data, and what makes data valid or useful.
Molding the media, Hollywood control [Richard Stallman's Political Notes]
The corrupter has found he can order some Hollywood billionaires around, much the way kings ordered their courtiers around.
Remember when, just weeks ago, the Dems told the military that they must not obey illegal orders. We passed that red line when they obeyed orders to start a war that had not been declared by Congress.
If you have an X account, esp if you have a lot of followers, please RT this post. I'd like to get my real account back. Thanks for your help.
Live in Once Upon a Galaxy! [Penny Arcade]
Let me show you them.
(CW)TB
In This House We Believe in Goblins, Gondal, Björk, and Hildegard of Bingen [The Stranger]
If a Washington rainforest started a band, it would sound something like Mt Fog. Carolyn B.’s playful whispers are like a sprite luring you into a mossy forest; the rhythm section—Andy Sell and Casey Rosebridge—like raindrops plopping into a mushroom; the electronics shimmer like a ray of light through the trees. The Seattle-based trio whimsically marries the vocal stylings of Kate Bush, Björk, and Siouxsie Sioux with sparse electronics, evocative of CAN and Mort Garson, and a free jazz song structure. Ahead of releasing their new album, Every Stone Is Green (out Mar 13), and accompanying release show at the Tractor Tavern, I spoke to the band about the medieval mystics, cosmic jazz albums, and psychedelic dreams that inspired them.
One thing that is really unique about Mt Fog is that you
don’t use six-string guitars. Was this a conscious choice or
something that happened by accident?
CAROLYN: Well, I
started Mt Fog as my solo project, and I don't play
guitar—I’ve never been that into guitars. So, in the
beginning, all the music I was writing was oriented towards voice
and a drum machine. It has just evolved from that. Also, I think a
trio is the most powerful, stable form. If we had a guitarist, they
wouldn't be included in our throuple scenarios.
[Laughs]
ANDY: Carolyn covers a lot of ground with the various synth patches and her voice. We play around with all kinds of textures as well, with the drum and bass. It's full enough without having a guitar. Although I like the guitar sometimes. It's either guitar, or I’m like, hey, we should put some congas on this thing!
CAROLYN: No guitar. No shaker. No slap bass.
ANDY: There are a lot of rules in Mt Fog [laughs]. It’s not a democracy, and that's cool.
Every Stone Is Green has an
improvisational feel to it, especially on songs like “Trees
in Conversation.” Were spontaneous decisions made while
recording?
ANDY: There's not a whole lot to say about
the drums on “Trees in Conversation,” but it was
improvised. We kind of built that into the song that's right after
it, so it starts with the drum solo, then goes into “Eyes in
Buildings.” I have a jazz background, so that song has that
improvisational character to it. I was surprised when Carolyn said,
“Yeah, the drum solo should be this
long!”
CAROLYN: Side B is more spontaneous because we recorded it live together in the studio. My instincts on this album were to capture a fleeting, whimsical, curious feeling, so I'm really happy to hear that comes across. The song started as these rough ideas, as songs do, and then we worked on them together, and things would come up just naturally, spontaneously. For example, “Imperfect Machine” was something Casey came up with while I was taking a break during rehearsal. I came in, and he was playing this really cool thing. I made a voice memo of it, and then he and Andy expounded upon that idea at the studio. Then, I had a realization that the song sounded like a caravan full of giggling goblins with a little ratty flag coming through the desert, that’s like, getting closer and closer, then goes off into the distance.
What media were you consuming while writing or recording
the album?
CAROLYN: ECM’s ’70s jazz records
were a big influence, particularly Gateway [the trio of John
Abercrombie, Dave Holland, and Jack DeJohnette]. It’s
hard to describe, but they create these portals in time that you
could spend a million years in—it's really beautiful cosmic
jazz. One of the records we have by them had a skip in it during
Dave Holland’s bass playing that was really cool. I recorded
it, and then while learning bass, I tried to replicate that
baseline skip. That became the basis for “Grimelda’s
Cave.” It was an immediate reflection of the things we were
listening to. We were also listening to a lot of
prog—Yes’s Fragile, and a lot of other weird
1970s jazz. I was just thinking a lot about the different textures
you can make and how music can be fractal; there are micro moments
that can be really special, but how do we turn them into a whole
song?
I was also inspired by mystics of the medieval times, especially Hildegard of Bingen. I've always loved her—I organized a mini music festival last year inspired by her, which got me to delve deeper into her concept of “viriditas,” about the green energy that's within us all. One of the songs, “Life as a Window,” is from Hildegard’s perspective.
ANDY: We all have musical backgrounds, but it's all filtered through Carolyn’s vision. Carolyn has concepts for a lot of the songs, like “Hey, this sounds like goblins!”
CASEY: Yeah, it’s usually goblins.
You also mentioned the Brontës in your album
description. Do you have a favorite Brontë sister or a
favorite Brontë novel?
CAROLYN: Definitely
Jane Eyre. While thinking about how to describe the album,
I was like, “It's Gothic with a capital G, like Gothic
literature.” Andy was like, “No one will know what that
means; they’ll think it means dark wave.” So I
described it as “a Gothic tale, in the Brontë
sisters’ sense.”
I think, too, that there are feminine aspects to the music, reminiscent of a journey that might get scary at times. You might encounter big landscapes and ghosts. You may not be able to entirely understand what's going on, and there is a lot of heightened emotion. The Brontë sisters created huge worlds, even though their worlds were actually really small. They were governesses; they didn't traverse that much area, yet they were able to build these magnificent emotional universes.
My friend actually asked me recently which Brontë sister each member of Mt Fog is. I was like, “We're not the sisters, we’re actually long-lost characters from the Brontë sisters' imagined world of Gondal. [Laughs]
Do you think seclusion is necessary for making
art?
CAROLYN: Actually, Björk was recently
talking about how streaming is the worst thing for artists because
of the pressure of constantly being visible and making things.
Björk is on our wall. [Points at poster] We love
Björk in this household. “In this house we
believe…” [Laughs]
It’s a great thing to think about, because being able to retreat, hide, and explore things without being looked at is really, really important. It’s also really important for artists to be original. When you're out in the world, you're like a sponge absorbing information, and you need time to go home and dream about it. I think isolation is the sleeping/dreaming aspect of being an artist—you have to go to sleep so you can learn things. I think being alone is important as an artist, so you can synthesize the world that you're experiencing. Throw your computer into the sea, metaphorically (don’t cause environmental pollution!).
Is the band’s relationship to the internet
something you guys think about often?
CAROLYN:
Definitely. We're all involved with Seattle Artists Against
Spotify. As artists, we have a responsibility to be leaders and
help create the world that we want to see. Our music is not on
Spotify, but people are still listening to it. I don’t think
these corporate-owned platforms have our best interests in mind.
It’s a losing game for artists to try to succeed on these
platforms. I'd rather have 100 people listen to our record and cry
than a million people streaming on Spotify while they're doing five
other things and paying their taxes.
What are your personal favorite tracks on the
album?
CASEY: “Look Inside” really
resonates with me lyrically and musically. I like the melody, the
bass line, and the shape of the song—it’s fun to play.
Every element is individually catchy, the energy is infectious, and
the message is really positive.
CAROLYN: My favorite track is “A Single Green Strand Emerges,” because the idea came from the most vivid dream I've ever had. In this dream, I was looking for someone and came upon this vintage camera with a single green strand emerging from the aperture. I knew I had to crawl into the camera to find the person I was looking for. When I crawled inside, the middle of the camera was a dirt tunnel. I could feel that I was climbing through this tight space, and then, I emerged into a green, soft world that was very childlike. I found the person I was looking for, but I also knew I had to leave soon. It was one of the most psychedelic experiences I've ever had. So, the song is about that dream, and also about the feeling of working really hard to get someone to love you, which is a sad feeling that I've experienced before.
ANDY: “Green Strand Emerges” is also my favorite. I just love the feel and the power of it. I think it's a nice representation of what the band has morphed into. Plus, we recorded it live in the studio together, which is a testament to what the band can do. We were able to pull it off, and we surprised ourselves when we finished recording it. We were like, “Holy shit, this is it!”
Can you guys tell me a little bit more about the album
artwork? Did the artist make it before listening to the album, or
after? How did it come about?
CAROLYN: Yeah, we
actually have the original oil painting right here. [Points at
wall] It was done by our friend Nico Lund. She came to one of our
shows, and we just connected like mad. Then, I reached out to her
to see if she would make an original painting for our album art. It
turns out she was about to reach out to me about the same thing! We
were both in each other's heads. So, I shared all of the earliest
recordings of the album, before we had fully recorded
everything.
We had a lot of conversations, but she is a fan of our music, so she already knew the vibe. When I first saw the concept sketch, I started crying because it was just so perfect. Then she took that original concept and made this beautiful painting. She's an amazing artist. Her work is really cool in person, too.
Let’s end with a fun question! Can you each share
an artist, album, or song that you love but that other people hate?
What music needs to be reevaluated?
CAROLYN: I like
Björk’s 2007 album Volta, and I know some people
really don't like that one. I love the song “Earth
Intruders”—the very beginning sounds like gross, muddy
footsteps. I actually like tried to recreate it for one of our
other songs, and I wasn't able to come close. I also like that
weird costume she wears on the cover.
ANDY: Maybe the third Duran Duran record, Seven and the Ragged Tiger—I think it's a really cool record. I also like the Accüsed a lot, which is a pretty far stretch from Mt Fog. Martha Splatterhead's Maddest Stories Ever Told is one of my favorite records that's ever been put out.
CASEY: I’ll say Muse—people always told me that they were a poser band to like when I was like 18. They’d say, “Oh, you like Muse? That’s so lame!” But I thought they were so cool, and I still think they have cool musical ideas—they seem like fucking dorks, but whatever.
See Mt Fog at Tractor Tavern on Thursday, March 12, 8 pm, 21+
The Best Bang for Your Buck Events in Seattle This Weekend: Mar 6–8, 2026 [The Stranger]
Ready for the time jump that is spring forward this Sunday? Before Monday's rough wake up call, spend time at weekend events from the Seattle Women's March to Seattle Fat Mall's Big Love Social + Market and from Chinatown-International District's Lunar New Year Celebration to the opening of Ai Weiwei: Circle of Animals/Zodiac Heads. For more ideas, check out our top picks of the week.
FRIDAY LIVE MUSIC
Echo Ravine (Album Release,) VuVu & Black Nite Crash
Local band Echo Ravine joked on Instagram that though two of its
members are originally from Massachusetts, their friendship
survived the Super Bowl. The group is used to bridging divides;
their alt-rock song "Tumbling
Wall" is about breaking down literal and metaphorical barriers
between countries and people. The track is off their third album,
Taking Up Space, which they put out last month and are
celebrating with a release show at Seattle's own community-owned
cooperative venue this Friday. Pick up a one-of-a-kind record at
the show—the band hand-stamped images
and track names onto the vinyl covers for a perfectly DIY feel.
Fellow shoegaze bands Black Nite Crash and VuVu open the night with
their layered, guitar-driven rock. SHANNON
LUBETICH
(Conor Byrne Pub, Ballard, $15)
Thorsten Alteholz: My Debian Activities in February 2026 [Planet Debian]
This was my hundred-fortieth month that I did some work for the Debian LTS initiative, started by Raphael Hertzog at Freexian.
During my allocated time I uploaded or worked on:
Some CVEs could be marked as not-affected for one or all LTS/ELTS-releases. I also worked on package evolution-data-server and attended the monthly LTS/ELTS meeting.
This month I uploaded a new upstream versions:
This work is generously funded by Freexian!
This month I continued to 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:
This month I uploaded a new upstream version or a bugfix version of:
Unfortunately development of openoverlayrouter finally stopped, so I had to remove this package from the archive.
This month I uploaded a new upstream version or a bugfix version of:
This month I uploaded a new upstream version or a bugfix version of:
I also sponsored the upload of some Matomo dependencies. Thanks a lot to William for preparing the packages
Fear not - the grim spectre of continuity will not long darken our doorway. In fact, continuity just put on its hat and coat and is even now walking out the door. Good riddance! Hope that's the last we see of him for a while. But Pokopia is from the team that co-did Dragon Quest Builders 2, which is a game that bored through both our skulls and laid a clutch of glistening eggs. They didn't end up hatching, but still. And I think they might have dried out. When I walk down the steps I sound like a huge maraca.
When ReadDirectoryChangesW reports that a deletion occurred, how can I learn more about the deleted thing? [The Old New Thing]
A customer was using
ReadDirectoryChangesW to monitor changes
to a directory. However, they ran into a problem when they received
a FILE_ACTION_REMOVED notification: Since the
notification is raised when the item is deleted, they can’t
do a GetFileAttributesEx to find out
whether the deleted item was a file or a subdirectory, and if it
was a file, the size of the deleted file. Their program needs that
information as part of its directory monitoring, so what mechanism
is there to recover that information?
The ReadDirectoryChangesW function
provides no way to recover information about the item that was
deleted. All you get is the name of the item.
Recall that ReadDirectoryChangesW is
for
detecting changes to information that would appear in a directory
listing. The idea is that your program performs a
FindFirstFile/FindNextFile
to build an in-memory cache for a directory, and then you can use
ReadDirectoryChangesW to perform
incremental updates to your cache. For example, if you see a
FILE_ACTION_ADDED, then you can call
GetFileAttributes or
GetFileAttributesEx to get
information about the thing that was added and update your cache.
That way, when you see the FILE_ACTION_REMOVED, you
can read the entry from your cache to get the information about the
item that was removed (as well as removing it from your cache).
There is a race condition here, however. If the item is added
and then immediately deleted, then when you get around to calling
GetFileAttributes, it won’t be
there, so you don’t actually know what it was.
Fortunately, there’s
ReadDirectoryChangesExW. If you ask
for
ReadDirectoryNotifyExtendedInformation,
then you get back a series of
FILE_NOTIFY_EXTENDED_INFORMATION structures, and in
addition to the action and the file name, those also contain
directory information about the item, including its file
attributes. This information is provided both on the add and on the
remove, so you can just look at the FileAttributes on
the FILE_ACTION_REMOVED to see whether it was a file
or a folder, and if it was a file, you can use the
FileSize to see the logical size of the file at the
time it was deleted.
The post When <CODE>ReadDirectoryChangesW</CODE> reports that a deletion occurred, how can I learn more about the deleted thing? appeared first on The Old New Thing.
Slog AM: Layoffs at the 5th Avenue Theater, Kristi Noem Gets the Boot, Swiss Canton Lets Coat of Arms Keep Its Red Bear Penis [The Stranger]
The Stranger's morning news roundup. by Nathalie Graham
Layoffs at the 5th: The 5th Avenue Theatre Company is laying off 14 employees, cutting staff from 55 people to 41. The 5th is mired in the $7.5 million budget deficit it’s accumulated since the pandemic. Subscription rates haven’t recovered since COVID-era slowdowns. So, the theater is cutting jobs in "marketing, box office, education, and artistic departments," according to the Seattle Times. If you care about live theater in Seattle, you better go see their production of Jesus Christ Superstar this May. Don’t be a Judas.
We're Doing Slurs Now? During a House debate in Olympia over a bill that would “eliminate the Community Protection Program, a service for people with developmental disabilities who have a history of sexually aggressive behavior" Sen. Leonard Christian, R-Spokane Valley said this: "The folks that we’re responsible for, we’re putting rapists in with retarded people," reports the Seattle Times. It's not 2007 anymore, Leonard. He later defended his use of the r-word, saying it emphasized that the bill would be "feeding these people to the wolves." He has not apologized.
School District Sued: Makena Simonsen, a special needs student in the Edmonds School District (ESD), graduated from Lynnwood High School with a 3.87 GPA and a first-grade reading level. Four years after getting her diploma, Simonsen's family is suing ESD claiming it was "benevolent discrimination" to hand their daughter a diploma. Because if she hadn’t gotten one, she would’ve been eligible for a free vocational program in the district that helps special needs students make the transition to adult life. Simonsen had to pay more than $40,000 for a similar program at Bellevue College.
Big News for like 20 People: The walking, rolling, and biking advocacy group Seattle Neighborhood Greenways has rebranded to Seattle Streets Alliance. Just thought some of you might care, idk.
The Weather: Drizzly, rainy. What did you expect?
The Time: And say goodbye to an hour of sleep starting Sunday. Clocks skip forward this weekend.
Security. We’re On It: Donald Trump has removed Kristi Noem as Secretary of Homeland Security and replaced her with Sen. Markwayne Mullin (R-Oklahoma). Her new role is “Special Envoy for The Shield of the Americas,” head of a new security initiative. The purpose of this very real job will be announced tomorrow at an event in Florida.
It’s Tornado Season: Warm Gulf air is mixing with cold air from Canada. Millions of Americans from Iowa to Texas could be hit by strong tornados, the AP reports. Taking precautions could be the difference between life and death, experts say.
Water Is Wet: Donald Trump is in the Epstein files. The Pope is from Chicago. And the Florida International University college republicans are racist. Leaked WhatsApp group chats showed—surprise, surprise—the young conservatives are sending slurs, sexist and homophobic comments, and Nazi references back and forth. I can't wait until they graduate into high-level roles at Palantir.
I Don't Know Who I Am Anymore: For some reason, I care about Shohei Ohtani hitting a grand slam in his first game with team Japan at the World Baseball Classic.
SHOHEI OHTANI GRAND SLAM
— MLB Daily News (@insidemlbnews.bsky.social) March 6, 2026 at 2:35 AM
[image or embed]
Meanwhile, the Mariners Blew Chunks in Their Latest Spring Training Game: As Lookout Landing put it, Seattle's favorite only baseball team "gave up three touchdowns and two field goals" to the Padres yesterday. Yep, they lost 27-6.
An Update from Job Land: It's no good out there in Job Land. Employers axed 92,000 jobs in February and unemployment climbed to 4.4 percent. The unemployment rate isn’t bad, but the fact that it's rising is worrisome. The report paints a bleak picture of stagnant job growth. Hang onto your job if you have one.
Congrats to everyone who voted for Trump and a Republican Congress "for the economy." This is what you get, a sputtering job creation engine that can't make progress like before and keeps rolling backwards.
www.bloomberg.com/news/article...
— Max Kennerly (@maxkennerly.bsky.social) March 6, 2026 at 7:20 AM
[image or embed]
We are the Baddies: According to Reuters, US military investigators are pretty sure the US is responsible for the apparent strike on an Iranian girls school that killed 150 children. The investigation hasn't been concluded yet.
War Continues: On Friday, Israel warplanes barraged Tehran and Beirut. Iran launched retaliatory strikes against Israel. President Trump made it clear he wants "complete surrender" from Iran. He made this statement in a Truth Social post.
Pass Gas: China is pressing Tehran to allow crude oil and Qatari gas safe passage through the Strait of Hormuz, Reuters reports. The war has all but shut the Straight, which makes China unhappy, because China gets 45 percent of its oil from the Straight. Meanwhile, crude oil prices are up 15 percent and US gas prices rose 11 percent in one week, hitting their highest point in the last year-and-a-half. Will this radicalize the normies?
Don't Forget about the Real Threat to Humanity: While everyone is worried about the rise of fascism, global warfare, and AI, climate change is still chugging away and spelling our doom. Researchers found that we are heating the earth faster than ever before. The heating rate has almost doubled. From 1970 and 2015, global heating increased by a rate less than 0.2 celsius per decade. In this most recent decade, that number jumped to 0.35 celcius. Scientists say that's the highest jump in warming since anyone started keeping track of temperature back in 1880. We are so boned.
Huge News: The Swiss Canton of Bern has chosen to keep the bear penis on its coat of arms after the government rejected a proposal to erase his junk. This bear will continue to hang dong as he has proudly for 600 years.
A Song for your Friday: I didn't know what to pick, so I scrolled randomly in my library and stopped on this. Enjoy.
News editor Vivian McCall poured a bit of blood and sweat into this slog.
PSPP 2.1.1 has been released [Planet GNU]
I'm very pleased to announce the release of a new version of GNU
PSPP. PSPP is a program for statistical analysis of sampled
data. It is a free replacement for the proprietary program
SPSS.
Changes from 2.1.0 to 2.1.1:
Please send PSPP bug reports to bug-gnu-pspp@gnu.org.
[$] Fedora shares strategy updates and "weird research university" model [LWN.net]
In early February, members of the Fedora Council met in Tirana, Albania to discuss and set the strategic direction for the Fedora Project. The council has published summaries from its strategy summit, and Fedora Project Leader (FPL) Jef Spaleta, as well as some of the council members, held a video meeting to discuss outcomes from the summit on February 25. Topics included a plan to experiment with Open Collective to raise funds for specific Fedora projects, tools to build image-based editions, and more. Spaleta also explained his model for Fedora governance.
Anthropic and the Pentagon [Schneier on Security]
OpenAI is in and Anthropic is out as a supplier of AI technology for the US defense department. This news caps a week of bluster by the highest officials in the US government towards some of the wealthiest titans of the big tech industry, and the overhanging specter of the existential risks posed by a new technology powerful enough that the Pentagon claims it is essential to national security. At issue is Anthropic’s insistence that the US Department of Defense (DoD) could not use its models to facilitate “mass surveillance” or “fully autonomous weapons,” provisions the defense secretary Pete Hegseth derided as “woke.”
It all came to a head on Friday evening when Donald Trump issued an order for federal government agencies to discontinue use of Anthropic models. Within hours, OpenAI had swooped in, potentially seizing hundreds of millions of dollars in government contracts by striking an agreement with the administration to provide classified government systems with AI.
Despite the histrionics, this is probably the best outcome for Anthropic—and for the Pentagon. In our free-market economy, both are, and should be, free to sell and buy what they want with whom they want, subject to longstanding federal rules on contracting, acquisitions, and blacklisting. The only factor out of place here are the Pentagon’s vindictive threats.
AI models are increasingly commodified. The top-tier offerings have about the same performance, and there is little to differentiate one from the other. The latest models from Anthropic, OpenAI and Google, in particular, tend to leapfrog each other with minor hops forward in quality every few months. The best models from one provider tend to be preferred by users to the second, or third, or 10th best models at a rate of only about six times out of 10, a virtual tie.
In this sort of market, branding matters a lot. Anthropic and its CEO, Dario Amodei, are positioning themselves as the moral and trustworthy AI provider. That has market value for both consumers and enterprise clients. In taking Anthropic’s place in government contracting, OpenAI’s CEO, Sam Altman, vowed to somehow uphold the same safety principles Anthropic had just been pilloried for. How that is possible given the rhetoric of Hegseth and Trump is entirely unclear, but seems certain to further politicize OpenAI and its products in the minds of consumers and corporate buyers.
Posturing publicly against the Pentagon and as a hero to civil libertarians is quite possibly worth the cost of the lost contracts to Anthropic, and associating themselves with the same contracts could be a trap for OpenAI. The Pentagon, meanwhile, has plenty of options. Even if no big tech company was willing to supply it with AI, the department has already deployed dozens of open weight models—whose parameters are public and are often licensed permissively for government use.
We can admire Amodei’s stance, but, to be sure, it is primarily posturing. Anthropic knew what they were getting into when they agreed to a defense department partnership for $200m last year. And when they signed a partnership with the surveillance company Palantir in 2024.
Read Amodei’s statement about the issue. Or his January essay on AIs and risk, where he repeatedly uses the words “democracy” and “autocracy” while evading precisely how collaboration with US federal agencies should be viewed in this moment. Amodei has bought into the idea of using “AI to achieve robust military superiority” on behalf of the democracies of the world in response to the threats from autocracies. It’s a heady vision. But it is a vision that likewise supposes that the world’s nominal democracies are committed to a common vision of public wellbeing, peace-seeking and democratic control.
Regardless, the defense department can also reasonably demand that the AI products it purchases meet its needs. The Pentagon is not a normal customer; it buys products that kill people all the time. Tanks, artillery pieces, and hand grenades are not products with ethical guard rails. The Pentagon’s needs reasonably involve weapons of lethal force, and those weapons are continuing on a steady, if potentially catastrophic, path of increasing automation.
So, at the surface, this dispute is a normal market give and take. The Pentagon has unique requirements for the products it uses. Companies can decide whether or not to meet them, and at what price. And then the Pentagon can decide from whom to acquire those products. Sounds like a normal day at the procurement office.
But, of course, this is the Trump administration, so it doesn’t stop there. Hegseth has threatened Anthropic not just with loss of government contracts. The administration has, at least until the inevitable lawsuits force the courts to sort things out, designated the company as “a supply-chain risk to national security,” a designation previously only ever applied to foreign companies. This prevents not only government agencies, but also their own contractors and suppliers, from contracting with Anthropic.
The government has incompatibly also threatened to invoke the Defense Production Act, which could force Anthropic to remove contractual provisions the department had previously agreed to, or perhaps to fundamentally modify its AI models to remove in-built safety guardrails. The government’s demands, Anthropic’s response, and the legal context in which they are acting will undoubtedly all change over the coming weeks.
But, alarmingly, autonomous weapons systems are here to stay. Primitive pit traps evolved to mechanical bear traps. The world is still debating the ethical use of, and dealing with the legacy of, land mines. The US Phalanx CIWS is a 1980s-era shipboard anti-missile system with a fully autonomous, radar-guided cannon. Today’s military drones can search, identify and engage targets without direct human intervention. AI will be used for military purposes, just as every other technology our species has invented has.
The lesson here should not be that one company in our rapacious capitalist system is more moral than another, or that one corporate hero can stand in the way of government’s adopting AI as technologies of war, or surveillance, or repression. Unfortunately, we don’t live in a world where such barriers are permanent or even particularly sturdy.
Instead, the lesson is about the importance of democratic structures and the urgent need for their renovation in the US. If the defense department is demanding the use of AI for mass surveillance or autonomous warfare that we, the public, find unacceptable, that should tell us we need to pass new legal restrictions on those military activities. If we are uncomfortable with the force of government being applied to dictate how and when companies yield to unsafe applications of their products, we should strengthen the legal protections around government procurement.
The Pentagon should maximize its warfighting capabilities, subject to the law. And private companies like Anthropic should posture to gain consumer and buyer confidence. But we should not rest on our laurels, thinking that either is doing so in the public’s interest.
This essay was written with Nathan E. Sanders, and originally appeared in The Guardian.
Weasel Words: OpenAI’s Pentagon Deal Won’t Stop AI‑Powered Surveillance [Deeplinks]
OpenAI, the maker of ChaptGPT, is rightfully facing widespread criticism for its decisions to fill the gap the U.S. Department of Defense (DoD) created when rival Anthropic refused to drop its restrictions against using its AI for surveillance and autonomous weapons systems. After protests from both users and employees who did not sign up to support government mass surveillance—early reports show that ChaptGPT uninstalls rose nearly 300% after the company announced the deal—Sam Altman, CEO of OpenAI, conceded that the initial agreement was “opportunistic and sloppy.” He then re-published an internal memo on social media stating that additions to the agreement made clear that “Consistent with applicable laws, including the Fourth Amendment to the United States Constitution, National Security Act of 1947, [and] FISA Act of 1978, the AI system shall not be intentionally used for domestic surveillance of U.S. persons and nationals.”
Trouble is, the U.S. government doesn’t believe “consistent with applicable laws” means “no domestic surveillance.” Instead, for the most part, the government has embraced a lax interpretation of “applicable law” that has blessed mass surveillance and large-scale violations of our civil liberties, and then fought tooth and nail to prevent courts from weighing in.
"After all, many of the world’s most notorious human rights atrocities have historically been “legal” under existing laws at the time."
“Intentionally” is also doing an awful lot of work in that sentence. For years the government has insisted that the mass surveillance of U.S. persons only happens incidentally (read: not intentionally) because their communications with people both inside the United States and overseas are swept up in surveillance programs supposedly designed to only collect communications outside the United States.
The company’s amendment to the contract continues in a similar vein, “For the avoidance of doubt, the Department understands this limitation to prohibit deliberate tracking, surveillance, or monitoring of U.S. persons or nationals, including through the procurement or use of commercially acquired personal or identifiable information.” Here, “deliberate” is the red flag given how often intelligence and law enforcement agencies rely on incidental or commercially purchased data to sidestep stronger privacy protections.
Here’s another one: “The AI System shall not be used for unconstrained monitoring of U.S. persons’ private information as consistent with these authorities. The system shall also not be used for domestic law-enforcement activities except as permitted by the Posse Comitatus Act and other applicable law.” What, one wonders, does “unconstrained” mean, precisely—and according to whom?
Lawyers sometimes call these “weasel words” because they create ambiguity that protects one side or another from real accountability for contract violations. As with the Anthropic negotiations, where the Pentagon reportedly agreed to adhere to Anthropic’s red lines only “as appropriate,” the government is likely attempting to publicly commit to limits in principle, but retain broad flexibility in practice.
OpenAI also notes that the Pentagon promised the NSA would not be allowed to use OpenAI’s tools absent a new agreement, and that its deployment architecture will help it verify that no red lines are crossed. But secret agreements and technical assurances have never been enough to rein in surveillance agencies, and they are no substitute for strong, enforceable legal limits and transparency.
OpenAI executives may indeed be trying, as claimed, to use the company’s contractual relationship with the Pentagon to help ensure that the government should use AI tools only in a way consistent with democratic processes. But based on what we know so far, that hope seems very naïve.
Moreover, that naïvete is dangerous. In a time when governments are willing to embrace extreme and unfounded interpretations of “applicable laws,” companies need to put some actual muscle behind standing by their commitments. After all, many of the world’s most notorious human rights atrocities have historically been “legal” under existing laws at the time. OpenAI promises the public that it will “avoid enabling uses of AI or AGI that harm humanity or unduly concentrate power,” but we know that enabling mass surveillance does both.
OpenAI isn’t the only consumer-facing company that is, on the one hand, seeking to reassure the public that they aren’t participating in actions that violate human rights while, on the other, seeking to cash in on government mass surveillance efforts. Despite this marketing double-speak, it is very clear that companies just cannot do both. It’s also clear that companies shouldn’t be given that much power over the limits of our privacy to begin with. The public should not have to rely on a small group of people—whether CEOs or Pentagon officials—to protect our civil liberties.
OpenWrt 25.12.0 released [LWN.net]
Version 25.12.0 of the OpenWrt router distribution is available; this release has been dedicated to the memory of Dave Täht. Changes include a switch to the apk package manager, the integration of the attended sysupgrade method, and support for a long list of new targets.
Security updates for Friday [LWN.net]
Security updates have been issued by Debian (chromium), Fedora (freerdp, libsixel, opensips, and yt-dlp), Mageia (python-django, rsync, and vim), Red Hat (go-rpm-macros and osbuild-composer), SUSE (7zip, assertj-core, autogen, c3p0, cockpit-machines, cockpit, cockpit-repos, containerized-data-importer, cpp-httplib, docker, docker-stable, expat, firefox, gnutls, go1.25-openssl, golang-github-prometheus-prometheus, haproxy, ImageMagick, incus, kernel, kubevirt, libsoup, libsoup2, mchange-commons, ocaml, openCryptoki, openvpn, php-composer2, postgresql14, postgresql15, python-Authlib, python-azure-core, python-nltk, python-urllib3_1, python311-Django4, python311-pillow-heif, python311-PyPDF2, python313, python313-Django6, qemu, rhino, roundcubemail, ruby4.0-rubygem-rack, sdbootutil, and wicked2nm), and Ubuntu (less, nss, python-bleach, qtbase-opensource-src, and zutty).
Error'd: That's What I Want [The Daily WTF]
First up with the money quote, Peter G. remarks "Hi first_name euro euro euro, look how professional our marketing services are! "
"It takes real talent to mispell error" jokes Mike S. They must have done it on purpose.
I long wondered where the TikTok profits came from, and now I know. It's Daniel D. "I had issues with some incorrectly documented TikTok Commercial Content API endpoints. So I reached out to the support. I was delighted to know that it worked and my reference number was . PS: 7 days later I still have not been contacted by anyone from TikTok. You can see their support is also . "
Fortune favors the prepared, and Michael R. is very fortunate. "I know us Germans are known for planning ahead so enjoy the training on Friday, February 2nd 2029. "
Someone other than dragoncoder047 might have shared this earlier, but this time dragoncoder047 definitely did. "Digital Extremes (the developers of Warframe) were making many announcements of problems with the new update that rolled out today [February 11]. They didn’t mention this one!"
Russell Coker: Links March 2026 [Planet Debian]
cory Doctorow wrote an insightful blog post about code being a liability not an asset [2].
Aigars Mahinovs wrote an interesting review of the BMW i4 M50 xDrive and the BMW i5 eDrive40 which seem like very impressive vehicles [3]. I was wondering what BMW would do now that all the features they had in the 90s have been copied by cheaper brands but they have managed to do new and exciting things.
The Acknowledgements section from the Scheme Shell (scsh) reference is epic [9].
Vice has an insightful article on research about “do your own research” and how simple Google searches tend to reinforce conspiracy theories [10]. A problem with Google is that it’s most effective if you already know the answer.
The Proof has an interesting article about eating oysters and mussels as a vegan [15].
Claude Used to Hack Mexican Government [Schneier on Security]
An unknown hacker used Anthropic’s LLM to hack the Mexican government:
The unknown Claude user wrote Spanish-language prompts for the chatbot to act as an elite hacker, finding vulnerabilities in government networks, writing computer scripts to exploit them and determining ways to automate data theft, Israeli cybersecurity startup Gambit Security said in research published Wednesday.
[…]
Claude initially warned the unknown user of malicious intent during their conversation about the Mexican government, but eventually complied with the attacker’s requests and executed thousands of commands on government computer networks, the researchers said.
Anthropic investigated Gambit’s claims, disrupted the activity and banned the accounts involved, a representative said. The company feeds examples of malicious activity back into Claude to learn from it, and one of its latest AI models, Claude Opus 4.6, includes probes that can disrupt misuse, the representative said.
Alternative link here.
Tight rope standing [Seth's Blog]
It’s much easier to walk a tight rope than it is to simply stand in place.
Forward momentum creates stability.
That’s what studies are for [Seth's Blog]
“Are you sure it’s going to work?”
That’s the wrong question to consider when proposing a study.
It’s also not helpful to say, “It’s unlikely to solve the problem.”
All the likely approaches have already been tried.
The useful steps are:
Our fear of failure is real. It’s often so significant that we’d rather live with a problem than face the possibility that our new approach might be wrong.
If the problem is worth solving, it’s probably worth the effort and risk that the next unproven test will require.
[In this podcast, Dr. Jonathan Sackner-Bernstein talks with some patients and a doctor about his novel approach to Parkinson’s disease. Participants in the conversation bring up the conventional wisdom he’s challenging and share reasons why his theory probably won’t work. But none of the critics has a better alternative. The cost of the test is relatively low, and the stakes of the problem are quite high. There’s no clear answer. This is precisely what a study is for.]
What will it cost to test your solution to our problem? Okay, begin.
New Comic: Man Bun
The Campaign: Running, p11 [Ctrl+Alt+Del Comic]
The post The Campaign: Running, p11 appeared first on Ctrl+Alt+Del Comic.
Spinnerette - Issue 45 - 05 [Spinnerette]
![]()
New comic!
Today's News:
Girl Genius for Friday, March 06, 2026 [Girl Genius]
The Girl Genius comic for Friday, March 06, 2026 has been posted.
Antoine Beaupré: Wallabako retirement and Readeck adoption [Planet Debian]
Today I have made the tough decision of retiring the Wallabako project. I have rolled out a final (and trivial) 1.8.0 release which fixes the uninstall procedure and rolls out a bunch of dependency updates.
The main reason why I'm retiring Wallabako is that I have completely stopped using it. It's not the first time: for a while, I wasn't reading Wallabag articles on my Kobo anymore. But I had started working on it again about four years ago. Wallabako itself is about to turn 10 years old.
This time, I stopped using Wallabako because there's simply something better out there. I have switched away from Wallabag to Readeck!
And I'm also tired of maintaining "modern" software. Most of the recent commits on Wallabako are from renovate-bot. This feels futile and pointless. I guess it must be done at some point, but it also feels we went wrong somewhere there. Maybe Filippo Valsorda is right and one should turn dependabot off.
I did consider porting Wallabako to Readeck for a while, but there's a perfectly fine Koreader plugin that I've been pretty happy to use. I was worried it would be slow (because the Wallabag plugin is slow), but it turns out that Readeck is fast enough that this doesn't matter.
Readeck is pretty fantastic: it's fast, it's lightweight, everything Just Works. All sorts of concerns I had with Wallabag are just gone: questionable authentication, questionable API, weird bugs, mostly gone. I am still looking for multiple tags filtering but I have a much better feeling about Readeck than Wallabag: it's written in Golang and under active development.
In any case, I don't want to throw shade at the Wallabag folks either. They did solve most of the issues I raised with them and even accepted my pull request. They have helped me collect thousands of articles for a long time! It's just time to move on.
The migration from Wallabag was impressively simple. The importer is well-tuned, fast, and just works. I wrote about the import in this issue, but it took about 20 minutes to import essentially all articles, and another 5 hours to refresh all the contents.
There are minor issues with Readeck which I have filed (after asking!):
But overall I'm happy and impressed with the result.
I'm also both happy and sad at letting go of my first (and only, so far) Golang project. I loved writing in Go: it's a clean language, fast to learn, and a beauty to write parallel code in (at the cost of a rather obscure runtime).
It would have been much harder to write this in Python, but my experience in Golang helped me think about how to write more parallel code in Python, which is kind of cool.
The GitLab project will remain publicly accessible, but archived, for the foreseeable future. If you're interested in taking over stewardship for this project, contact me.
Thanks Wallabag folks, it was a great ride!
Reading and writing emails in GNU Emacs with Gnus [Planet GNU]
At the 10th anniversary of my involvement in EmacsConf, I’m finally giving my first ever talk at the conference, for EmacsConf 2025. :) In this talk, I give a quick introduction to Gnus and show a basic configuration for reading and writing email with Gnus and Message.
You can watch the video below, or from the talk’s page on the EmacsConf 2025 wiki: https://emacsconf.org/2025/talks/gnus
Sorry, this embedded video will not work, because your web
browser does not support HTML5 video.
[ please watch the video in your favourite streaming media player
]
The above video is provided with closed captions and a transcript — thanks, Sacha!
A commented copy of the init file from the video is provided below. Happy hacking!
;;; emacsconf-2025-gnus.el -*- lexical-binding: t -*-
;; This file is marked with CC0 1.0 Universal
;; and is dedicated to the public domain.
;; Note: this file uses the `setopt' macro introduced in Emacs 29
;; to customize the value of user options. If you are using older
;; Emacsen, you may can use `customize-set-variable' or `setq'.
;;; Init / convenience
;; Initialize the package system.
(require 'package)
(package-initialize)
(setopt
;; Explicitly set `package-archives', in part to ensure https ones
;; are used, and also to have NonGNU ELPA on older Emacsen as well.
package-archives
'(("gnu" . "https://elpa.gnu.org/packages/")
("nongnu" . "https://elpa.nongnu.org/nongnu/")))
;; Download descriptions of available packages from the above
;; package archives.
(unless package-archive-contents
(package-refresh-contents))
;; Install the keycast package if not already installed.
(dolist (package '(keycast))
(unless (package-installed-p package)
(package-install package)))
;; Enable keycast to show the current command and its binding in
;; the mode line, for the presentation.
(setopt keycast-mode-line-remove-tail-elements nil)
(when (fboundp #'keycast-mode-line-mode)
(keycast-mode-line-mode 1))
;; Set a font with larger size for the presentation.
;; It requires that the Source Code Pro be installed on your
;; system. Feel free to comment out or remove.
(when (display-graphic-p)
(with-eval-after-load 'faces
(let ((f "Source Code Pro Medium-15"))
(set-face-attribute 'default nil :font f)
(set-face-attribute 'fixed-pitch nil :font f))))
;; Inline function for expanding file and directory names inside
;; `user-emacs-directory'. For example: (+emacs.d "gnus/")
(defsubst +emacs.d (path)
"Expand PATH relative to `user-emacs-directory'."
(expand-file-name
(convert-standard-filename path) user-emacs-directory))
(keymap-global-set "C-c e e" #'eval-last-sexp)
;; Add the info directory from the GNU Emacs source repository to
;; the list of directories to search for Info documentation files.
;; Useful if you're using Emacs directly built from a source
;; repository, rather than installed on your system.
(with-eval-after-load 'info
(setq
Info-directory-list
`(,@Info-directory-list
,(expand-file-name
(convert-standard-filename "info/") source-directory)
"/usr/share/info/")))
␌
;;; Gnus configuration
;; (info "(gnus) Don't Panic")
(keymap-global-set "C-c g" #'gnus)
(setopt
user-full-name "Gnus Fan Emacsian"
user-mail-address "ec25gnus@kelar.org")
;; Tell Emacs we'd like to use Gnus and its Message integration
;; for reading and writing mail.
(setopt
mail-user-agent 'gnus-user-agent
read-mail-command #'gnus)
;; Consolidate various Gnus files inside a gnus directory in the
;; `user-emacs-directory'.
(setopt
gnus-home-directory (+emacs.d "gnus/")
gnus-directory (+emacs.d "gnus/news/")
message-directory (+emacs.d "gnus/mail/")
nndraft-directory (+emacs.d "gnus/drafts/"))
(setopt ; don't bother with .newsrc, use .newsrc.eld instead
gnus-save-newsrc-file nil
gnus-read-newsrc-file nil)
;; Don't prompt for confirmation when exiting Gnus.
(setopt gnus-interactive-exit nil)
;; Configure two IMAP mail accounts.
(setopt
gnus-select-method '(nnnil "")
gnus-secondary-select-methods
'((nnimap
"ec25gnus"
(nnimap-stream tls)
(nnimap-address "mail.kelar.org")
;; (nnimap-server-port 993) ; imaps
(nnimap-authenticator plain)
(nnimap-user "ec25gnus@kelar.org"))
(nnimap
"ec25work"
(nnimap-stream tls)
(nnimap-address "mail.kelar.org")
;; (nnimap-server-port 993) ; imaps
(nnimap-authenticator plain)
(nnimap-user "ec25work@kelar.org")
;; Archive messages into yearly Archive folders upon pressing
;; 'E' (for Expire) in the summary buffer.
(nnmail-expiry-wait immediate)
(nnmail-expiry-target nnmail-fancy-expiry-target)
(nnmail-fancy-expiry-targets
(("from" ".*" "nnimap+ec25work:Archive.%Y"))))))
;; `init-file-debug' corresponds to launching emacs with --debug-init
(setq nnimap-record-commands init-file-debug)
;; The "Sent" folder
(setopt gnus-message-archive-group "nnimap+ec25gnus:INBOX")
;;;; Group buffer
;; Always show INBOX groups even if they have no unread or ticked
;; messages.
(setopt gnus-permanently-visible-groups ":INBOX$")
;; Enable topic mode in the group buffer, for classifying groups.
(add-hook 'gnus-group-mode-hook #'gnus-topic-mode)
;;;; Article buffer
;; Display the following message headers in Article buffers,
;; in the given order.
(setopt
gnus-sorted-header-list
'("^From:"
"^X-RT-Originator"
"^Newsgroups:"
"^Subject:"
"^Date:"
"^Envelope-To:"
"^Followup-To:"
"^Reply-To:"
"^Organization:"
"^Summary:"
"^Abstract:"
"^Keywords:"
"^To:"
"^[BGF]?Cc:"
"^Posted-To:"
"^Mail-Copies-To:"
"^Mail-Followup-To:"
"^Apparently-To:"
"^Resent-From:"
"^User-Agent:"
"^X-detected-operating-system:"
"^X-Spam_action:"
"^X-Spam_bar:"
"^Message-ID:"
;; "^References:"
"^List-Id:"
"^Gnus-Warning:"))
;;;; Summary buffer
;; Fine-tune sorting of threads in the summary buffer.
;; See: (info "(gnus) Sorting the Summary Buffer")
(setopt
gnus-thread-sort-functions
'(gnus-thread-sort-by-number
gnus-thread-sort-by-subject
gnus-thread-sort-by-date))
;;;; Message and sending mail
(setopt
;; Automatically mark Gcc (sent) messages as read.
gnus-gcc-mark-as-read t
;; Configure posting styles for per-account Gcc groups, and SMTP
;; server for sending mail. See: (info "(gnus) Posting Styles")
;; Also see sample .authinfo file provided below.
gnus-posting-styles
'(("nnimap\\+ec25gnus:.*"
(address "ec25gnus@kelar.org")
("X-Message-SMTP-Method" "smtp mail.kelar.org 587")
(gcc "nnimap+ec25gnus:INBOX"))
("nnimap\\+ec25work:.*"
(address "ec25work@kelar.org")
("X-Message-SMTP-Method" "smtp dasht.kelar.org 587")
(gcc "nnimap+ec25work:INBOX"))))
(setopt
;; Ask for confirmation when sending a message.
message-confirm-send t
;; Wrap messages at 70 characters when pressing M-q or when
;; auto-fill-mode is enabled.
message-fill-column 70
;; Forward messages (C-c C-f) as a proper MIME part.
message-forward-as-mime t
;; Send mail using Emacs's built-in smtpmail library.
message-send-mail-function #'smtpmail-send-it
;; Omit our own email address(es) when composing replies.
message-dont-reply-to-names "ec25\\(gnus\\|work\\)@kelar\\.org"
gnus-ignored-from-addresses message-dont-reply-to-names)
;; Unbind C-c C-s for sending mail; too easy to accidentally hit
;; instead of C-c C-d (save draft for later)
(keymap-set message-mode-map "C-c C-s" nil)
;; Display a `fill-column' indicator in Message mode.
(add-hook 'message-mode-hook #'display-fill-column-indicator-mode)
;; Enable Flyspell for on-the-fly spell checking.
(add-hook 'message-mode-hook #'flyspell-mode)
Sample ~/.authinfo file:
machine ec25gnus login ec25gnus@kelar.org password hunter2
machine ec25work login ec25work@kelar.org password badpass123
machine mail.kelar.org login ec25gnus@kelar.org password hunter2
machine dasht.kelar.org login ec25work@kelar.org password badpass123
Note that for purpose of storing credentials for use by
Gnus’s select methods, the machine portions need
to match the names we give our select methods when configuring
gnus-secondary-select-methods, namely
ec25gnus and ec25work in our example.
We also store a copy of the credentials for use by Emacs’s
smtpmail when sending mail, where the machine must be
the fully-qualified domain name (FQDN) of the SMTP server we
specify with the X-Message-SMTP-Method header for each
account by defining a corresponding rule for it in
gnus-posting-styles.
Lastly, I recommend using an encrypted authinfo file by saving
it as ~/.authinfo.gpg instead to avoid storing your
credentials in plain text. If you set up Emacs’s EasyPG, it
will seamlessly decrypt or encrypt the file using GPG when reading
from or writing to it. Type C-h v auth-sources RET to
see the documentation of the auth-sources variable for
more details.

something's fishy
Meats and Cheeses [The Stranger]
After opening Outsider BBQ last March, self-taught pitmaster Onur Gulbay quickly built himself a cult following in Seattle. by Meg van Huygen
Hard to believe it’s been a whole year since Seattle, frequently bemoaned by Southerners as a barbecue wasteland, finally got some legit Texas-style barbecue. And made by a Turkish guy, no less. After opening Outsider BBQ last March, self-taught pitmaster Onur Gulbay quickly built himself a cult following with the authentic Central Texas-ass barbecue chops that he picked up while living in Austin.
“I went to Franklin Barbecue and just fell in love,” Gulbay says, “and kept going back over and over, talking to the guys there, until I could learn how they were doing it.”
What started out as a pop-up, which the former IBM salesman ran from a portable smoker on wheels, re-manifested last year in the massive ex-Frelard Pizza Company space on Leary. Gulbay has since transformed the place into a sprawling smoked-meats compound, replete with fire pits, retractable garage-door walls, a play area for kids, a separate little house for his TWO gigantic smokers, and a huge outdoor beer garden. (Guess he learned that part from Texas, too. Oops, haha, it is cold here.)
If this style and caliber of barbecue weren’t rare enough
in the Northwest, Gulbay next-levels it with his gently Turkified
versions of classic Southern sides: sumac-dusted potato salad,
lemon–poppyseed coleslaw, a cinnamony rice pudding called
sütlaç that’s similar to the American version
except it's taken a ride in the smoker. The flavorful “street
corn,” is a thick, creamy scoop of grilled esquites
that’s loaded with fresh herbs and black pepper and shares
architectural properties with Beecher’s mac. When asked what
he puts it in, Gulbay pauses, then says, “Lots and lots of
cheese. Like six cheeses.”
As for the meats, y’all can’t miss the snappy
jalapeno-cheddar sausage, made in-house from pork and brisket
trimmings, or the buttery meltaway brisket that disintegrates as
soon as you breathe on it. Gulbay himself can’t get enough of
the succulent beef rib, which is just flamboyantly enormous and
always makes me think of the chunk of dino ribs that makes the
runny footmobile fall over in the opener from The
Flintstones. “My very favorite,” Gulbay proclaims.
“It’s a whole meal by itself.”
On Saturday, March 7, Outsider BBQ will be celebrating its first birthday with live music, specials, new menu items, and an all-day indoor/outdoor party. Guests should make sure to say hi to Gulbay, who is a goddang character and will be holding court all day. As our local barbecue prescriptivists bitch on Reddit about grill marks and bark tones, Gulbay’s creative take on a very pious category of American cuisine is at once faithful and playful, and it's refreshing as hell to see. It's also a great example of what makes Seattle’s restaurant scene so vivacious and unique. Something to celebrate for sure.
Said it before, but this town is a rough place to open a new restaurant, especially if you’re new to the area—and to say nothing of it being your first restaurant!—so a year in biz is no small feat. Congrats to Gulbay and the Outsider team, who are clearly elite insiders now. We’re so glad you’re here.
Local Music You Shouldn’t Miss [The Stranger]
Kate Olson
So It Goes
(OA2)
Saxophonist/composer Kate Olson has excelled in Seattle’s jazz and experimental scenes for about 15 years as a solo artist, bandleader, and member of Syrinx Effect, Royal Room Collective Music Ensemble, and Battlestar Kalakala. She’s especially shown an affinity for minimalist works that exhibit a deep spirituality, à la Terry Riley, Pauline Oliveros, and Don Cherry. Olson’s last album, 2020’s Homeland, pushed her into new territory: funereal post-rock, industrial music recalling the Bug’s iciest and most ominous moments, and discombobulating IDM.
Olson returns to jazz on her new LP, So It Goes, joined by Conner Eisenmenger (trombone, trumpet), Tim Carey (electric bass, electric guitar), and Evan Woodle (drums, percussion). With Olson playing soprano sax, the album zips out of the gate with “Bumbling Thumbs Blues,” bustling bebop full of thrilling dynamics, with Woodle devoting acute attention to the tom-toms. Which makes the transition to the sly “Take Five” homage of “ShouldaCoulda” a brilliant change of pace. Olson finesses a quietly ecstatic and rococo solo in this utterly beguiling and introspective tune. The burrowing, mesmerizing bebop sorcery of “All Pear-Shaped” continues So It Goes’s hot streak.
But Olson also excels at cooler temperatures; her ballad game is
strong. “Nominally Challenged” is beautiful, serpentine
jazz for late nights or early mornings, while “Pink
Mountain”—a delicate, bittersweet ballad—displays
Olson’s playing at its most tender. Dedicated to Billy
Pilgrim, protagonist of Kurt Vonnegut’s
Slaughterhouse-Five, “So It Goes” is a
languorous, melancholy ballad with scene stalwarts Wayne Horvitz on
piano and Geoff Harper on double bass. And showing immaculate
taste, Olson and company—with Horvitz and Harper again
lending stellar support—do justice to the legend Alice
Coltrane’s questing astral-jazz composition
“Translinear Light,” the title track from her final
studio album. Real recognize real.
Thomas Andrew Doyle
Twilight
(Incineration Ceremony)
It’s crazy that Thomas Andrew Doyle’s synth-based music from 2017 onward flies so far under the radar, even though it ranks among his best output. The man best known as the leader of Sub Pop grunge brutes TAD has undergone a radical transformation in this century, and maybe fans of that band and critics just can’t get their heads around this new and improved musician/composer.
These days, Doyle’s into creating soundtracks in search of film directors who revel in transporting viewers to profoundly disturbing places. Twilight is Doyle’s latest excursion into the vast bleak. The epic title track begins with a subdued, solemn organ drone poised between hope and distress, creating a paradoxical tension. Eventually, ceremonial male chants enter and lend a wafting gravitas to proceedings. It would sound infernally grand in a theater. “1 over 137” is a bass-heavy dirge of deep suspense, cut with fluid synth motifs that suggest an appreciation for Dune-loving keyboard sorcerer Bernard Szajner. On “Decimated,” Doyle coaxes out the interstellar eeriness of Brian Eno’s best ’80s ambient releases. The despairing drones of “Dormant Complexities” approximate the sound of E.M. Cioran’s brain waves as he was writing A Short History of Decay. Dedicated to Doyle’s late friend, and friend of the paper (and entire city), Bradley Sweek, Twilight epitomizes the art of darkness.
Seattle-area musicians can send music to NewSeattleMusic@thestranger.com for possible coverage.
On the other hand, it's hard to get Claude.ai to really apply itself to my own software. It likes to drive. Same with ChatGPT.
[1292] New Look, Old Maren [Twokinds]
Comic for March 5, 2026
Hardware hotplug events on Linux, the gory details [OSnews]
One day, I suddenly wondered how to detect when a USB device is plugged or unplugged from a computer running Linux. For most users, this would be solved by relying on libusb. However, the use case I was investigating might not actually want to do so, and so this led me down a poorly-documented rabbit hole.
↫ ArcaneNibble (or R)
And ArcaneNibble (or R) is taking you down with them.
Ticket Alert: Joji, Gorillaz, and More Seattle Events Going On Sale [The Stranger]
We’re serving up another fresh batch of tickets. Lo-fi R&B singer Joji supports his recently released album, Piss in the Wind, at Climate Pledge this summer. English virtual band Gorillaz closes out the North American leg of their Mountain Tour in Seattle. Plus, “American Woman” rockers The Guess Who are takin’ it back on their reunion tour. Read on for details on those and other newly announced events, plus some news you can use.
ON SALE FRIDAY, MARCH 6MUSIC
Belle & Sebastian: 30th Anniversary Tour, Performing
"Tigermilk"
Neptune Theatre (Sat June 13)
Charley Crockett – Age of the Ram
Tour
Northern Quest Resort & Casino (Wed July 15)
Concrete Boys
Neumos (Mon May 11)
The Big Idea: Randee Dawn [Whatever]

If everyone only wrote what they knew, how many books would we be deprived of? Author Randee Dawn has some concerns about the age-old advice, and suggests writers should get out of their comfort zone in the Big Idea for her newest novel, We Interrupt This Program.
RANDEE DAWN:
There are many phrases writers long to hear: Your book is a best-seller! Your book changed my life! Your book is getting a Netflix adaptation! Your book props open my screen door!
Maybe not that last one.
But if there’s one phrase writers are a little tired of hearing is this: Write what you know.
What does that even mean? For years, I thought it was reductionist and stupid. I write speculative fiction. Spec fic is about dragons or distant planets or zombies or dragons and zombies on distant planets. I have yet to encounter any of those things. But isn’t that what imagination is for? Make stuff up!
Write what you know is a rhetorical piece of advice that sends young writers off on the wrong path, and often confuses older ones. It explains why twenty-two year olds write memoirs. They don’t know anything but their own lives!
But it can have value. My first useful encounter with understanding write what you know came when I plumbed my entertainment journalism past – including time at a soap opera magazine – to write a goofy first novel, Tune in Tomorrow (helpfully given its own discussion in The Big Idea in 2022). I knew what backstage on TV and film sets looked like. I’d spoken to thousands of actors, producers, and directors. It wasn’t so far a leap to imagine how things might be different if magical creatures were running things.
Then it came time to write the next story in the Tune-iverse. I’d used up a lot of Stuff I Knew. So what could come next to keep things interesting?
That was when I discovered that the advice isn’t stupid. It’s just not the only advice that matters. Writing what you know can – pick your metaphor – give you a frame, a recipe, or a direction to follow.
But writing what hurts gives you substance. Writing what hurts gets you into the subcutaneous zone.
With We Interrupt this Program (the next, also standalone, novel in my Tune-iverse), I tried to picture what the rest of the fae entertainment universe – run by the Seelie Court Network, of course – would look like. I imagined whole villages run by fae, populated by humans full-time, whose lives fit into neat little tropey stories. What if all the Hallmark movies were shot in the cutest, sweetest, village ever? What if there was a whole burg populated with humans who’d pissed the fae off and were being punished? What if a seaside town existed where a gray-haired older lady author solved cozy mysteries?
The latter one gave me Winnie, an older woman whose cozy mysteries about her TROPE Town neighbors were turned into movies for SCN. But Seaview Haven is in trouble when we meet Winnie, and she discovers she’ll have to write a really good story to fix matters. So she writes about a love affair with the town’s Seelie Showrunner/Mayor/Director.
But those who vet it say it isn’t good enough. It’s nice. She wrote what she knew. Then she’s told to write what’s hard.
The novel took me by surprise here. I hadn’t planned to make her write two important stories. The love story should be enough. But it was only good. It wasn’t great. Despite being supernatural, it felt mundane. Tropey.
In going deeper to find Winnie a hard story, I discovered I already had one based on events in my real life. I gave them to her. Sure, it’s about love. But it’s also about betrayal and writerly jealousy, the kind delivered with a stiletto and not a butcher knife. Frankly, I’m a little embarrassed it’s in there. It’s not an epic awfulness. I didn’t commit a crime.
Probably.
And in giving it to Winnie, the story worked for me. When she unveils her personal, painful moment, it folds into the story as if I’d planned it. We Interrupt remains slapsticky, punny, and full of lunatic moments. Hopefully, though, that’s why this moment – the hurtful story – hits the hardest.
Readers can sense when we’ve gone deep, and when we skate the surface. A writer always has to find a way to squint at their latest creation and ask if they’ve gone deep enough to make it hurt, no matter what the genre is. That’s what – if I’ve done it right – it means to stick the landing.
So let’s look at that old hoary advice once more. Yes, write what you know.
But don’t stop there.
After you figure out what you know, figure out what’s hard. What hurts. Pull out the stiletto, not the butcher knife … and get cutting.
We Interrupt This Program: Amazon|Barnes & Noble|Bookshop
New Oracle Solaris CBE release released [OSnews]
Oracle’s Solaris 11 basically comes in two different flavours: the SRU (Support Repository Update) releases for commercial Oracle customers, and the CBE (Common Build Environment) releases, available to everyone. We’ve covered the last few SRU releases, and now it’s time for a new CBE release.
We first introduced the Oracle Solaris CBE in March 2022 and we released an updated version in May 2025. Now, as Oracle Solaris keeps on evolving, we’ve released the latest version of our CBE. With the previous release Alan and Jan had compiled a list to cover all the changes in the three years since the first CBE release. This time, because it’s relatively soon after the last release we are opting to just point you to the what’s new blogs on the feature release SRUs Oracle Solaris 11.4 SRU 84, Oracle Solaris 11.4 SRU 87, and Oracle Solaris 11.4 SRU 90. And of course you can always go to the blogs by Joerg Moellenkamp and Marcel Hofstetter who have excellent series of articles that show how you can use the Oracle Solaris features.
↫ Joost Pronk van Hoogeveen at the Oracle Solaris Blog
You can update your existing installation with a pkg
update, or do a fresh insrtall with
the new CBE images.
Seattle’s hottest nightclub doesn’t have velvet ropes, bottle service, or a bouncer. Instead, it has folding tables. It has name tags. It has four people to a table, all playing mahjong. A year ago, this kicked off with two borrowed sets. Tonight, Emerald City Tile Club is standing room only.
An Unexpected Friday Night
On a recent
Friday night, when I’d usually be confronting my shortcomings
as both a home cook and a human, I instead found myself craving
connection. For many these days, “socializing” means
forwarding each other Reels… and not replying. Which is why
it felt somewhat revolutionary to get dressed, hop in my car, and
brave the parking situation of Capitol Hill. All to play mahjong
with strangers.
I was at Stoup Brewing wearing a name tag, in a small room upstairs—high above the Carhartt-clad product managers and their Patagonia-donning dogs. The room was rocking, and it felt like a fashion show: gold and jade jewelry brushing against Chrome Hearts hoodies, ruched halter tops, and mock neck sweaters. Perfect mahjong fits: dressed for a game their grandparents played, styled like they might end up at a warehouse party after.
Fifteen tables were in play and not one empty. At some, the mood was loose, alternating between silly and flirtatious. At others, players leaned in without speaking, eyes fixed on the pile of engraved ivory tiles in front of them, focused like they were refining macrodata in Severance. Hong Kong, Taiwanese, and Filipino gameplay ensued, with rule sheets open between beer glasses. Onlookers, myself included, crowded around especially interesting games like a Vegas craps table.
I met a white man celebrating his 26th birthday wearing a magnificent custom felt crown like a malevolent mahjong monarch. I dapped him up. At another table, I saw a guy on crutches and another with a boot on. People planned their night around this event—insurance claims included. In the middle of Seattle’s winter, here were over a hundred people voluntarily sitting knee to knee, Labubu to Labubu, for hours, all sharing the understanding that if you sit down long enough, something great might happen.
Community Is Table Stakes
At the center of
this room—though he would probably object to that
phrasing—was Sean Herrera, the humble proprietor of Emerald
City Tile Club.
A year ago, almost to the date, Sean was sipping a beer at Stoup, contemplating his future while doing trivia. He looked up to see folks playing board games, and the idea for Emerald City Tile Club formed all at once. He envisioned an accessible and welcoming social night surrounding the game his dad taught him to play. As a Filipino kid growing up in Alabama, Sean used mahjong as a magnet to find his people. He parlayed that energy when he moved to Seattle, hosting small mahjong nights with friends during COVID. Then they stopped being small. “It got too big at my place,” Sean told me, yelling over the DJs. “And I was like, how do I transform this into something bigger than myself?”
Around that time, he noticed mahjong social nights taking off in New York and Los Angeles, with editorial shots of young Asians framing the game as cool again. Some of the clubs in LA even charged membership or event fees, but that never sat right with Sean. “I don’t want someone moving to Seattle thinking they have to pay to meet friends,” he said. “I hate the idea of having a physical barrier to coming in and hanging out.”
When Sean decided to pitch Stoup on a mahjong night, he went full-out honor student. He shared MLA citations on the resurgence of mahjong among Asian American youth. He included a deck with mockups of attendance. He made a business case for foot traffic and sales. He said please. Stoup obliged, and ECTC was born. Forty people showed up to night one, blowing Sean away and earning more buy-in from Stoup. Tonight, and most nights, ECTC is hosting hundreds of folks.
“I hear about people meeting here and then going on dates,” Sean told me. “Someone came up to me and was like, ‘I met my girl here.’” He laughed, still slightly stunned by it. “I see people hanging out elsewhere and I’m like, ‘I didn’t know y’all were friends.’ And they’re like, ‘Oh, we met through ECTC.’ That’s crazy.”
One night, walking through Capitol Hill, he overheard a group of 20-somethings ahead of him debating whether they were going to “mahjong night” that week. They didn’t know he was behind them. “That’s when I knew this was real.”
Flipping the Script
For decades, mahjong
lived in kitchens and garages, in the background of family parties,
in rooms that smelled faintly of vapor rub and pork. It was
something you inherited. A game you aged into. Now it’s
something people line up for.
Across America, mahjong nights are quietly filling restaurants and backrooms. Young people are showing up dressed for a night out and are learning that the romantic prospects are better at the mahjong table than the bars. What used to signal retirement now signals arrival. “The traditional view about mahjong,” Sean said, “is that it’s an old man’s game.” He gestured to the brimming room. “Here in Seattle, we’re flipping that script.”
It’s definitely happening in Seattle, headlined by ECTC and supported by budding nights including Mahjong Mondays at Kilig and QT Mahjong Nights—a community for queer/BIPOC folks to learn mahjong together. At each of these events, community is table stakes, but knowing how to play is not.
So Why Now?
Part of the appeal is
structural. Mahjong is analog. You can’t scroll through it,
you can’t multitask. In a time where you see more AI slop on
your timeline than pictures of actual human beings, the youth yearn
for something real. And mahjong provides, not only with tangible
tiles and real-life conversations, but also an invitation to
unplug. To lean in. To pay attention. In an economy of distraction,
that feels radical.
But part of it is cultural. For a generation of Asian Americans, mahjong is less about preserving tradition and more about reclaiming it. It’s taking something your parents played and deciding it belongs in public. It belongs under DJ lights. It belongs in breweries.
It belongs to us.
Same Time Next Week
Back at Stoup, my wife
had just won her first game, thanks to three new friends she just
met, thrilled to be beaten by their new padawan. The DJs were
getting crunk, backed by the comforting cacophony of shuffling
tiles. Someone just found a roommate.
In a city designed to keep you alone—in your car, in your apartment, in your feed—the kids are choosing something older. Something slower. Something you can’t swipe away.
I stepped outside into the cold and immediately saw three people I recognized from upstairs arguing about game strategies on the sidewalk.
They’ll be back next week. So will I.
Vincent Bernat: Automatic Prometheus metrics discovery with Docker labels [Planet Debian]
Akvorado, a network flow collector, relies on Traefik, a reverse HTTP proxy, to expose HTTP endpoints for services implemented in a Docker Compose setup. Docker labels attached to each service define the routing rules. Traefik picks them up automatically when a container starts. Instead of maintaining a static configuration file to collect Prometheus metrics, we can apply the same approach with Grafana Alloy, making its configuration simpler.
Traefik listens for events on the Docker socket. Each service advertises its configuration through labels. For example, here is the Loki service in Akvorado:
services: loki: # … expose: - 3100/tcp labels: - traefik.enable=true - traefik.http.routers.loki.rule=PathPrefix(`/loki`)
Once the container is healthy, Traefik creates a router
forwarding requests matching /loki to its first
exposed port. Colocating Traefik configuration with the service
definition is attractive. How do we achieve the same for Prometheus
metrics?
Grafana Alloy, a metrics
collector that can scrape Prometheus endpoints, includes a discovery.docker
component. Just like Traefik, it connects to the Docker
socket.1 With a few
relabeling rules, we can teach it to use Docker labels to locate
and scrape metrics.
We define three labels on each service:
metrics.enable set to true enables
metrics collection,metrics.port specifies the port exposing the
Prometheus endpoint, andmetrics.path specifies the path to the metrics
endpoint.If there is more than one exposed port,
metrics.port is mandatory, otherwise it defaults to
the only exposed port. The default value for
metrics.path is /metrics. The Loki
service from earlier becomes:
services: loki: # … expose: - 3100/tcp labels: - traefik.enable=true - traefik.http.routers.loki.rule=PathPrefix(`/loki`) - metrics.enable=true - metrics.path=/loki/metrics
Alloy’s configuration is split into four parts:
The first building block discovers running containers:
discovery.docker "docker" { host = "unix:///var/run/docker.sock" refresh_interval = "30s" filter { name = "label" values = ["com.docker.compose.project=akvorado"] } }
This connects to the Docker socket and lists containers every 30
seconds.2 The
filter block restricts discovery to containers
belonging to the akvorado project, avoiding
interference with unrelated containers on the same host. For each
discovered container, Alloy produces a target with labels such as
__meta_docker_container_label_metrics_port for the
metrics.port Docker label.
The relabeling step filters and transforms raw targets from
Docker discovery into scrape targets. The first stage keeps only
targets with metrics.enable set to
true:
discovery.relabel "prometheus" { targets = discovery.docker.docker.targets // Keep only targets with metrics.enable=true rule { source_labels = ["__meta_docker_container_label_metrics_enable"] regex = `true` action = "keep" } // … }
The second stage overrides the discovered port when we define
metrics.port:
// When metrics.port is set, override __address__. rule { source_labels = ["__address__", "__meta_docker_container_label_metrics_port"] regex = `(.+):\d+;(.+)` target_label = "__address__" replacement = "$1:$2" }
Next, we handle containers in host network mode.
When __meta_docker_network_name equals
host, the address is rewritten to
host.docker.internal instead of
localhost:3
// When host networking, override __address__ to host.docker.internal. rule { source_labels = ["__meta_docker_container_label_metrics_port", "__meta_docker_network_name"] regex = `(.+);host` target_label = "__address__" replacement = "host.docker.internal:$1" }
The next stage derives the job name from the service name, stripping any numbered suffix. The instance label is the address without the port:
rule { source_labels = ["__meta_docker_container_label_com_docker_compose_service"] regex = `(.+)(?:-\d+)?` target_label = "job" } rule { source_labels = ["__address__"] regex = `(.+):\d+` target_label = "instance" }
If a container defines metrics.path, Alloy uses it
as a path. Otherwise, it defaults to /metrics:
rule { source_labels = ["__meta_docker_container_label_metrics_path"] regex = `(.+)` target_label = "__metrics_path__" } rule { source_labels = ["__metrics_path__"] regex = "" target_label = "__metrics_path__" replacement = "/metrics" }
With the targets properly relabeled, scraping and forwarding are straightforward:
prometheus.scrape "docker" { targets = discovery.relabel.prometheus.output forward_to = [prometheus.remote_write.default.receiver] scrape_interval = "30s" } prometheus.remote_write "default" { endpoint { url = "http://prometheus:9090/api/v1/write" } }
prometheus.scrape periodically fetches metrics from
the discovered targets. prometheus.remote_write sends
them to Prometheus.
Some services do not expose a Prometheus endpoint. Redis and Kafka are common examples. Alloy ships built-in Prometheus exporters that query these services and expose metrics on their behalf.
prometheus.exporter.redis "docker" { redis_addr = "redis:6379" } discovery.relabel "redis" { targets = prometheus.exporter.redis.docker.targets rule { target_label = "job" replacement = "redis" } } prometheus.scrape "redis" { targets = discovery.relabel.redis.output forward_to = [prometheus.remote_write.default.receiver] scrape_interval = "30s" }
The same pattern applies to Kafka:
prometheus.exporter.kafka "docker" { kafka_uris = ["kafka:9092"] } discovery.relabel "kafka" { targets = prometheus.exporter.kafka.docker.targets rule { target_label = "job" replacement = "kafka" } } prometheus.scrape "kafka" { targets = discovery.relabel.kafka.output forward_to = [prometheus.remote_write.default.receiver] scrape_interval = "30s" }
Each exporter is a separate component with its own relabeling
and scrape configuration. The job label is set
explicitly since there is no Docker metadata to derive it from.
With this setup, adding metrics to a new service with a
Prometheus endpoint is a few-label change in
docker-compose.yml, just like adding a Traefik route.
Alloy picks it up automatically. You can set up something similar
with another discovery method, like discovery.kubernetes,
discovery.scaleway, or
discovery.http.
🩺
Both Traefik and Alloy require access to the Docker socket, which grants root-level access to the host. A Docker socket proxy mitigates this by exposing only the read-only API endpoints needed for discovery. ↩︎
Unlike Traefik, which watches for events, Grafana Alloy polls the container list at regular intervals—a behavior inherited from Prometheus. ↩︎
The Alloy service needs extra_hosts:
["host.docker.internal:host-gateway"] in its
definition. ↩︎
The great license-washing has begun [OSnews]
In the world of open source, relicensing is notoriously difficult. It usually requires the unanimous consent of every person who has ever contributed a line of code, a feat nearly impossible for legacy projects. chardet, a Python character encoding detector used by requests and many others, has sat in that tension for years: as a port of Mozilla’s C++ code it was bound to the LGPL, making it a gray area for corporate users and a headache for its most famous consumer.
Recently the maintainers used Claude Code to rewrite the whole codebase and release v7.0.0, relicensing from LGPL to MIT in the process. The original author, a2mark, saw this as a potential GPL violation.
↫ Tuan-Anh Tran
Everything about this feels like a license violation, and in general a really shit thing to do. At the same time, though, the actual legal situation, what lawyers and judges care about, is entirely unsettled and incredibly unclear. I’ve been reading a ton of takes on what happened here, and it seems nobody has any conclusive answers, with seemingly valid arguments on both sides.
Intuitively, this feels deeply and wholly wrong. This is the license-washing “AI” seems to be designed for, so that proprietary vendors can take code under copyleft licenses, feed it into their “AI” model, and tell it to regurgitate something that looks just different enough so a new, different license can be applied. Tim takes Jim’s homework. How many individual words does Tim need to change – without adding anything to Jim’s work – before it’s no longer plagiarism?
I would argue that no matter how many synonyms and slight sentence structure changes Tim employs, it’s still a plagiarised work.
However, what it feels like to me is entirely irrelevant when laws are involved, and even those laws are effectively irrelevant when so much money is riding on the answers to questions like these. The companies who desperately want this to be possible and legal are so wealthy, so powerful, and sucked up to the US government so hard, that whatever they say might very well just become law.
“AI” is the single-greatest coordinated attack on open source in history, and the open source world would do well to realise that.
Emerald City Comic Con Has Connections to ICE [The Stranger]
A group of unhappy cosplayers penned a petition to Emerald City Comic Con's parent company asking them to do something about it. by Nathalie Graham
There’s a cloud over Emerald City Comic Con (ECCC) this year and, no, it’s not pissing rain. It’s pissing ICE.
Back in January, con-goers discovered that ECCC’s parent company, ReedPop—which acquired the con in 2015 and runs a variety of cons including New York City Comic Con and BookCon—has a not-so-distant connection to the immigration enforcement agency.
The problem lies in a rotten, corporate family tree. Reed Pop is part of the entertainment group RX which is owned by RELX, and RELX owns LexisNexis, a data broker that holds a $22.1 million contract to be ICE’s precogs, helping the agency track people who may potentially commit a crime (and their cars, according to The Intercept) before they’ve actually broken the law.
So a group of unhappy cosplayers penned a petition asking Reedpop, which purports to “promote inclusion and diversity,” to force their parent company to divest from LexisNexis. ReedPop responded with a boilerplate statement, saying “RX, ReedPop and our event brands operate independently from other RELX businesses on an arm's length basis. RX, ReedPop and our event brands do not sell any information or data to the U.S. Department of Homeland Security or U.S. Immigration and Customs Enforcement.”
The petition reads: "How can event attendees feel safe, supported, or included when they are deliberately choosing to support the equivalent of the Empire in Star Wars, the Fire Nation in Avatar: The Last Airbender, and other oppressive forces that fans consistently support the dismantling of on-screen and in the pages?”
Elizabeth Sweet, a Korean immigrant known in the cosplay world as Cosmic Reys, co-organized the petition with her friend group of cosplayers and Romantasy lovers (Fourth Wing, A Court of Thorns and Roses, the fanfiction that warped your sexuality) that Mallory Shoemaker, a Disney cosplayer, and Jenna Karr, who primarily cosplays romantasy book characters. (Sidenote, while this group doesn’t have a name, they’ve done panels together as The Bookish Baddies).
Shoemaker (left), Karr, and Sweet think revolutions
aren't just for sexy book protagonists.
They wanted to send a message that “Seattle does not eff with ICE,” Sweet says, omitting the cuss word. Nearly 1,300 have signed since late January, and the Baddies have since written to electeds like Mayor Katie Wilson.
Though they aren’t advertising it, they’re tying ECCC’s relationship with ICE into their planned “Smash or Pass” panel about sexy Romantasy characters and tropes.
It’ll be much, much more about fascism than a steamy book panel usually would be (less monsterfucking, more fucking monsters). Sweet gave an example: “We find it attractive when the heroes we root for may have wings or horns or something, but what’s sexier is what they’re standing up for.”
And another: “A smashable trait is standing up for what you believe in and is advocating strongly for critiquing systems of power.”
“We’re putting pressure on our local officials, our city, and reminding nerds, ‘You could be the hero in the story that you're reading about,” Shoemaker says. “You could be Rey, you could be Katniss.”
The mystery of the posted message that was dispatched before reaching the main message loop [The Old New Thing]
A customer had a program that created a window, then posted a message to it. They were surprised to find that the message was dispatched too soon. Specifically, it was dispatched before the program reached its main message loop, which is a problem because there is other preparatory work that happens after the window is created but before the program reaches its main message loop, and the premature dispatch of the posted message is causing the message handler to do things before all the preparatory work is completed.
The customer was under the impression that posted messages aren’t dispatched until the main message loop starts processing them. Why is the posted message being dispatched too soon, and what can they do to fix it?
You have all the clues to solve the mystery in their problem description.
First, we get to dispel the customer’s misconception.
There is no rule that says that posted messages wait for the main
message loop to process and dispatch them. Posted messages are
dispatched whenever anybody calls GetMessage or
PeekMessage to retrieve the posted message, and
then passes that posted message to the
DispatchMessage function. Anybody could perform
these operations; it doesn’t have to be the main message
loop.
Indeed, the system doesn’t know which message loop is your “main” message loop. It’s not like the system finds the calling code, reverse-compiles it, does semantic analysis, and then says, “Aha, I think this one is the main message loop.” (Indeed, I’ve written programs where there is no “main” message loop.)
The clue here is that they say that they have “preparatory work”.
I bet that some of their preparatory work goes into a little message loop. Maybe it posts a message to another window and pumps messages while waiting for a response. (For example, it might be doing DDE.) Or maybe it makes a cross-process COM call, because cross-process COM calls from single-threaded apartments pump messages while waiting for the call to complete.
The customer could confirm this theory by setting a breakpoint on their message handler and taking a stack trace to see what call they are making that is leading to messages being pumped.
The fix is not to post the message until all the preparations are complete. In other words, to prevent the message from arriving too soon, don’t post it too soon.
Bonus reading: Why are my posted messages getting lost when the user drags my window around?
The post The mystery of the posted message that was dispatched before reaching the main message loop appeared first on The Old New Thing.
Rust 1.94.0 released [LWN.net]
Version 1.94.0 of the Rust language has been released. Changes include array windows (an iterator for slices), some Cargo enhancements, and a number of newly stabilized APIs.
A GitHub Issue Title Compromised 4,000 Developer Machines (grith.ai) [LWN.net]
The grith.ai blog reports on an LLM prompt-injection vulnerability that led to 4,000 installations of a compromised version of the Cline utility.
For the next eight hours, every developer who installed or updated Cline got OpenClaw - a separate AI agent with full system access - installed globally on their machine without consent. Approximately 4,000 downloads occurred before the package was pulled.The interesting part is not the payload. It is how the attacker got the npm token in the first place: by injecting a prompt into a GitHub issue title, which an AI triage bot read, interpreted as an instruction, and executed.
Pluralistic: Blowtorching the frog (05 Mar 2026) executive-dysfunction [Pluralistic: Daily links from Cory Doctorow]
->->->->->->->->->->->->->->->->->->->->->->->->->->->->->
Top Sources: None -->

Back in 2018, the Singletrack blog published a widely read article explaining the lethal trigonometry of a UK intersection where drivers kept hitting cyclists:
There are lots of intersections that are dangerous for cyclists, of course, but what made Ipsley Cross so lethal was a kind of eldritch geometry that let the cyclist and the driver see each other a long time before the collision, while also providing the illusion that they were not going to collide, until an instant before the crash.
This intersection is an illustration of a phenomenon called "constant bearing, decreasing range," which (the article notes) had long been understood by sailors as a reason that ships often collide. I'm not going to get into the trigonometry here (the Singletrack article does a great job of laying it out).
I am, however, going to use this as a metaphor: there is a kind of collision that is almost always fatal because its severity isn't apparent until it is too late to avert the crash. Anyone who's been filled with existential horror at the looming climate emergency can certainly relate.
The metaphor isn't exact. "Constant bearing, decreasing range" is the result of an optical illusion that makes it seem like things are fine right up until they aren't. Our failure to come to grips with the climate emergency is (partly‡) caused by a different cognitive flaw: the fact that we struggle to perceive the absolute magnitude of a series of slow, small changes.
‡The other part being the corrupting influence of corporate money in politics, obviously
This is the phenomenon that's invoked in the parable of "boiling a frog." Supposedly, if you put a frog in a pot of water at a comfortable temperature and then slowly warm the water to boiling, the frog will happily swim about even as it is cooked alive. In this metaphor, the frog can only perceive relative changes, so all that it senses is that the water has gotten a little warmer, and a small change in temperature isn't anything to worry about, right? The fact that the absolute change to the water is lethal does not register for our (hypothetical) frog.
Now, as it happens, frogs will totally leap clear of a pot of warming water when it reaches a certain temperature, irrespective of how slowly the temperature rises. But the metaphor persists, because while it does not describe the behavior of frogs in a gradually worsening situation, it absolutely describes how humans respond to small, adverse changes in our environment.
Take moral compromises: most of us set out to be good people, but reality demands small compromises to our ethics. So we make a small ethical compromise, and then before long, circumstances demand another compromise, and then another, and another, and another. Taken in toto, these compromises represent a severe fall from our personal standards, but so long as they are dripped out in slow and small increments, too often we rationalize our way into them: each one is only a small compromise, after all:
https://pluralistic.net/2020/02/19/pluralist-19-feb-2020/#thinkdifferent
Back to the climate emergency: for the first 25 years after NASA's James Hansen testified before Congress about "global heating," the changes to our world were mostly incremental: droughts got a little worse, as did floods. We had a few more hurricanes. Ski seasons got shorter. Heat waves got longer. Taken individually, each of these changes was small enough for our collective consciousness to absorb as within the bounds of normalcy, or, at worst, just a small worsening. Sure, there could be a collision on the horizon, but it wasn't anything urgent enough to justify the massive effort of decarbonizing our energy and transportation:
https://locusmag.com/feature/cory-doctorow-the-swerve/
It's not that we're deliberately committing civilizational suicide, it's just that slow-moving problems are hard to confront, especially in a world replete with fast-moving, urgent problems.
But crises precipitate change:
https://www.youtube.com/watch?v=FrEdbKwivCI
Before 2022, Europe was doing no better than the rest of the world when it came to confronting the climate emergency. Its energy mix was still dominated by fossil fuels, despite the increasing tempo of wildfires and floods and the rolling political crises touched off by waves of climate refugees. These were all dire and terrifying, but they were incremental, a drip-drip-drip of bad and worsening news.
Then Putin invaded Ukraine, and the EU turned its back on Russian gas and oil. Overnight, Europe was plunged into an urgent energy crisis, confronted with the very real possibility that millions of Europeans would shortly find themselves shivering in the dark – and not just for a few nights, but for the long-foreseeable future.
At that moment, the slow-moving crisis of the climate became the Putin emergency. The fossil fuel industry – one of the most powerful and corrupting influences in Brussels and around the world – was sidelined. Europe raced to solarize. In three short years, the continent went from decades behind on its climate goals to a decade ahead on them:
https://pluralistic.net/2025/10/11/cyber-rights-now/#better-late-than-never
Putin could have continued to stage minor incursions on Ukraine, none of them crossing any hard geopolitical red lines, and Europe would likely have continued to rationalize its way into continuing its reliance on Russia's hydrocarbon exports. But Putin lacked the patience to continue nibbling away at Ukraine. He tried to gobble it all down at once, and then everything changed.
There is a sense, then, in which Putin's impatient aggression was a feature, not a bug. But for Putin's lack of executive function, Ukraine might still be in danger of being devoured by Russia, but without Europe taking any meaningful steps to come to its aid – and Europe's solar transition would still be decades behind schedule.
Enshittification is one of those drip-drip-drip phenomena, too. Platform bosses have a keen appreciation of how much value we deliver to one another – community, support, mutual aid, care – and they know that so long as we love each other more than we hate the people who own the platforms, we'll likely stay glued to them. Mark Zuckerberg is a master of "twiddling" the knobs on the back-ends of his platforms, announcing big, enshittifying changes, and then backing off on them to a level that's shittier than it used to be, but not as shitty as he'd threatened:
https://pluralistic.net/2023/02/19/twiddler/
Zuck is a colossal asshole, a man who founded his empire in a Harvard dorm room to nonconsensually rate the fuckability of his fellow undergrads, a man who knowingly abetted a genocide, a man who cheats at Settlers of Catan:
https://pluralistic.net/2025/04/23/zuckerstreisand/#zdgaf
But despite all these disqualifying personality defects, Mark Zuckerberg has one virtue that puts him ahead of his social media competitor Elon Musk: Zuck has a rudimentary executive function, and so he is capable of backing down (sometimes, temporarily) from his shittiest ideas.
Contrast that with Musk's management of Twitter. Musk invaded Twitter the same year Putin invaded Ukraine, and embarked upon a string of absolutely unhinged and incontinent enshittificatory gambits that lacked any subtlety or discretion. Musk didn't boil the frog – he took one of his flamethrowers to it.
Millions of people were motivated to hop out of Musk's Twitter pot. But millions more – including me – found ourselves mired there. It wasn't that we liked Musk's Twitter, but we had more reasons to stay than we had to go. For me, the fact that I'd amassed half a million followers since some old pals messaged me to say they'd started a new service called "Twitter" meant that leaving would come at a high price to my activism and my publishing career.
But Musk kept giving me reasons to reassess my decision to stay. Very early into the Musk regime, I asked my sysadmin Ken Snider to investigate setting up a Bluesky server that I could move to. I was already very active on Mastodon, which is designed to be impossible to enshittify the way Musk had done to Twitter, because you can always move from one Fediverse server to another if the management turns shitty:
https://pluralistic.net/2022/12/23/semipermeable-membranes/
But for years, Bluesky's promise of federation remained just that – a promise. Technically, its architecture dangled the promise of multiple, independent Bluesky servers, but practically, there was no way to set this up:
https://pluralistic.net/2023/08/06/fool-me-twice-we-dont-get-fooled-again/
But – to Bluesky's credit – they eventually figured it out, and published the tools and instructions to set up your own Bluesky servers. Ken checked into it, and told me that it was all do-able, but not until a planned hardware upgrade to the Linux box he keeps in a colo cage in Toronto was complete. That upgrade happened a couple months ago, and yesterday, Ken let me know that he'd finished setting up a Bluesky server, just for me. So now I'm on Bluesky, at @doctorow.pluralistic.net:
https://bsky.app/profile/doctorow.pluralistic.net
I am on Bluesky, the service, but I am not a user of Bluesky, the company. That means that I'm able to interact with Bluesky users without clicking through Bluesky's abominable terms of service, through which you permanently surrender your right to sue the company (even if you later quit Bluesky and join another server!):
Remember: I knew and trusted the Twitter founders and I still got screwed. It's not enough for the people who run a service to be good people – they also have to take steps to insulate themselves (and their successors) from the kind of drip-drip-drip rationalizations that turn a series of small ethical waivers into a cumulative avalanche of pure wickedness:
https://pluralistic.net/2024/12/14/fire-exits/#graceful-failure-modes
Bluesky's "binding arbitration waiver" does the exact opposite: rather than insulating Bluesky's management from their own future selves' impulse to do wrong, a binding arbitration waiver permanently insulates Bluesky from consequences if (when) they yield the temptation to harm their users.
But Bluesky's technical architecture offers a way to eat my cake and have it, too. By setting up a Bluesky (the service) account on a non-Bluesky (the company) server, I can join a social space that has lots of people I like, and lots of interesting technical innovations, like composable moderation, without submitting to the company's unacceptable terms of service:
https://bsky.social/about/blog/4-13-2023-moderation
If Twitter was on the same slow enshittification drip-drip-drip of the pre-Musk years, I might have set up on Bluesky and stayed on Twitter. But thanks to Musk and his frog blowtorch, I'm able to make a break. For years now, I have posted this notice to Twitter nearly every day:
Twitter gets worse every single day. Someday it will degrade beyond the point of usability. The Fediverse is our best hope for an enshittification-resistant alternative. I'm @pluralistic@mamot.fr.
Today, I am posting a modified version, which adds:
If you'd like to follow me on Bluesky, I'm @doctorow.pluralistic.net. This is the last thread I will post to Twitter.
Crises precipitate change. All things being equal, the world would be a better place without Vladimir Putin or Elon Musk or Donald Trump in it. But these incontinent, impatient, terrible men do have a use: they transform slow-moving crises that are too gradual to galvanize action into emergencies that can't be ignored. Putin pushed the EU to break with fossil fuels. Musk pushed millions into federated social media. Trump is ushering in a post-American internet:
https://pluralistic.net/2026/01/01/39c3/#the-new-coalition
If you're reading this on Twitter, this is the long-promised notice that I'm done here. See you on the Fediverse, see you on Bluesky – see you in a world of enshittification-resistant social media.
It's been fun, until it wasn't.

What's a Panama? https://catvalente.substack.com/p/whats-a-panama
The AI Bubble Is An Information War https://www.wheresyoured.at/the-ai-bubble-is-an-information-war/
The Ticketmaster Monopoly Trial Starts https://www.bigtechontrial.com/p/the-ticketmaster-monopoly-trial-starts
HyperCard Changed Everything https://www.youtube.com/watch?v=hxHkNToXga8
#20yrsago Waxy threatened with a lawsuit by Bill Cosby over “House of Cosbys” vids https://waxy.org/2006/03/litigation_cosb/
#15yrsago Proposed TX law would criminalize TSA screening procedures https://blog.tenthamendmentcenter.com/2011/03/texas-legislation-proposes-felony-charges-for-tsa-agents/
#15yrsago Rodney King: 20 years of citizen photojournalism https://mediactive.com/2011/03/02/rodney-king-and-the-rise-of-the-citizen-photojournalist/
#15yrsago Mobile “bandwidth hogs” are just ahead of the curve https://tech.slashdot.org/story/11/03/02/2027209/High-Bandwidth-Users-Are-Just-Early-Adopters
#15yrsago Peter Watts blogs from near-death experience with flesh-eating bacteria https://www.rifters.com/crawl/?category_name=flesh-eating-fest-11
#15yrsago How a HarperCollins library book looks after 26 checkouts (pretty good!) https://www.youtube.com/watch?v=Je90XRRrruM
#15yrsago Banksy bails out Russian graffiti artists https://memex.craphound.com/2011/03/04/banksy-bails-out-russian-graffiti-artists/
#15yrsago TSA wants hand-luggage fee to pay for extra screening due to checked luggage fees https://web.archive.org/web/20110308142316/https://hosted.ap.org/dynamic/stories/U/US_TSA_BAGGAGE_FEES?SITE=AP&SECTION=HOME&TEMPLATE=DEFAULT&CTIME=2011-03-03-16-50-03
#15yrsago US house prices fall to 1890s levels (where they usually are) https://www.csmonitor.com/Business/Paper-Economy/2011/0303/Home-prices-falling-to-level-of-1890s
#10yrsago Whuffie would be a terrible currency https://locusmag.com/feature/cory-doctorow-wealth-inequality-is-even-worse-in-reputation-economies/
#10yrsago Ditch your overpriced Sodastream canisters in favor of refillable CO2 tanks https://www.wired.com/2016/03/sodamod/
#10yrsago Why the First Amendment means that the FBI can’t force Apple to write and sign code https://www.eff.org/files/2016/03/03/16cm10sp_eff_apple_v_fbi_amicus_court_stamped.pdf
#10yrsago Apple vs FBI: The privacy disaster is inevitable, but we can prevent the catastrophe https://www.theguardian.com/technology/2016/mar/04/privacy-apple-fbi-encryption-surveillance
#10yrsago The 2010 election was the most important one in American history https://www.youtube.com/watch?v=fw41BDhI_K8
#10yrsago As Apple fights the FBI tooth and nail, Amazon drops Kindle encryption https://web.archive.org/web/20160304055204/https://motherboard.vice.com/read/amazon-removes-device-encryption-fire-os-kindle-phones-and-tablets
#10yrsago Understanding American authoritarianism https://web.archive.org/web/20160301224922/https://www.vox.com/2016/3/1/11127424/trump-authoritarianism
#10yrsago Proposal: replace Algebra II and Calculus with “Statistics for Citizenship” https://web.archive.org/web/20190310081625/https://slate.com/human-interest/2016/03/algebra-ii-has-to-go.html
#10yrsago Panorama: the largest photo ever made of NYC https://360gigapixels.com/nyc-skyline-photo-panorama/
#1yrago Ideas Lying Around https://pluralistic.net/2025/03/03/friedmanite/#oil-crisis-two-point-oh
#1yrago There Were Always Enshittifiers https://pluralistic.net/2025/03/04/object-permanence/#picks-and-shovels

Barcelona: Enshittification with Simona Levi/Xnet (Llibreria
Finestres), Mar 20
https://www.llibreriafinestres.com/evento/cory-doctorow/
Berkeley: Bioneers keynote, Mar 27
https://conference.bioneers.org/
Montreal: Bronfman Lecture (McGill) Apr 10
https://www.eventbrite.ca/e/artificial-intelligence-the-ultimate-disrupter-tickets-1982706623885
London: Resisting Big Tech Empires (LSBU)
https://www.tickettailor.com/events/globaljusticenow/2042691
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
The Lost Cause
https://streets.mn/2026/03/02/book-club-the-lost-cause/
Should Democrats Make A Nuremberg Caucus? (Make It Make
Sense)
https://www.youtube.com/watch?v=MWxKrnNfrlo
Making The Internet Suck Less (Thinking With Mitch Joel)
https://www.sixpixels.com/podcast/archives/making-the-internet-suck-less-with-cory-doctorow-twmj-1024/
Panopticon :3 (Trashfuture)
https://www.patreon.com/posts/panopticon-3-150395435
"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 (1066 words today, 43341 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):
Bluesky (no ads, possible tracking and data-collection):
https://bsky.app/profile/doctorow.pluralistic.net
Medium (no ads, paywalled):
https://doctorow.medium.com/
https://twitter.com/doctorow
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
DOS memory management [OSnews]
The memory management in DOS is simple, but that simplicity may be deceptive. There are several rather interesting pitfalls that programming documentation often does not mention.
↫ Michal Necasek at the OS/2 Museum
A must-read for people writing software for earlier DOS versions.
It’s another gorgeous Spring Arts issue of The Stranger! [The Stranger]
Sorry to immediately be a bummer, but I can’t stop thinking about the state of technology. by Emily Nokes
Sorry to immediately be a bummer, but I can’t stop thinking about the state of technology. About how we could have done anything in the world with it at this point, and yet this is where we landed.
Waist-deep in a slop gauntlet run by the most corrupt/least cool (in every sense of the word) grifters imaginable. An internet that currently looks like shit and works like shit, in service of shareholders who will monetize it until there is nothing left to extract. I won’t belabor the point.
Except of course I will. We are supposedly inching toward an era of AI grandiosity beyond our wildest dreams/nightmares, but until that happens, can we make one website function correctly? It would be incredible, if in the year of our 2026, I could look up what time a show starts without being led to a third-party ticket site, bloated with ads, with some out-of-date map widget that blocks the screen while their glitchy AI asks if you want whatever the fuck. Anything but the information you’re looking for. You will never find it; you will forget what you came here for.
Woman yells at [the] Cloud, I know. But if you are a venture capitalist reading this (hiiii), let me whisper my incredible idea, then: Make the internet work again.
Beyond its current janky state, AI’s insidious seep into the arts raises genuine concerns around labor displacement, authorship, surveillance capitalism, and the slow evaporation of expertise. Another concern is simpler: The people pushing AI are fucking dweebs. Mikey Shulman (of generative AI start-up Suno) literally said, out loud, in an interview: “It’s not really enjoyable to make music now. It takes a lot of time, it takes a lot of practice, you need to get really good at an instrument or really good at a piece of production software.” Concluding that this is a problem to be solved (by him, for money) rather than, you know, the entire point.
Finally. We are so close to solving the problem of having a creative process.
Okay that is enough rain! The days are getting longer, my friend, and I am once again trying to keep it weird around here. What are the interesting people of Seattle doing with their one precious life?
My moodboard for this issue was ARTS, of course, with a special interest in: anti-slop, DIY out of ethical necessity, weird/cool/fun, hands-on, physical media, in real life. We may not be able to escape algo-driven toxicity entirely at this point, but I was curious about the people and places operating outside of all that. People dedicated to the value of physical experience, or people doing strange or difficult or specific things with a lot of dedication. Some as a deliberate statement, some just because it’s what they’re into, or it’s what they’ve always done. I’m tickled by the results. People are making such neat things!
In these pages you’ll find artists who deal in physical media—less because the aesthetic still fucks (it does), but because every other option sucks. We make the case for recession-era art, repairing your own clothes, and the joy and frustration of a dumber phone.
Elsewhere, what’s more analog than a baroque flutist? An opera singer, perhaps—did you know they are just belting it out without amplification up there? We also learn about the ancient techniques like the Korean paper art of hanji, and Turkish meat-carving with giant blades.
We also envision something better. A city with a healthy bodega culture, a city that invests in the arts, a city with unique arts spaces, and a city that envisions something better for a neat old building in a queer/arts neighborhood than a… McDonald’s.
Spring is coming.
— Emily Nokes
COVER ART
Samantha Yun Wall
Diaspore No.15 (2026)
From Let There Be Light at Cannonball Arts
The same intensity with which Spencer Pratt reads the audiobook of his memoir The Guy You Loved to Hate
Hot Slog Buns
Zoloft
Gabapentin
The weight of the world
Gun soup
Chappell Roan’s nipples
Alexander Skarsgård’s slutty little glasses
The community fig leaf
Realizing I’ve been wearing my carabiner on the wrong side
Season two of The Boyfriend on Netflix
Joy sobbing to videos of Alysa Liu
Hilary Knight refusing to make excuses for men’s behavior
“Regular Rabbit” by Stephen Spencer
Keri Russell’s wigs on The Americans
Puppy anticipation
A powder day, finally
My last fried nerve
Chu Minh Tofu and Vegan Deli
Ex-Lax
LITERALLY MAKING PHYSICAL MEDIA
Cold red wine
Lightrailers is a real word, Henry
The Kissenger Pocket Pussy for Kissing
Ring, the dogcatching company
Being Chinese before Chinamaxxing made being Chinese cool
Sparkle kicks in Las Vegas
[$] The relicensing of chardet [LWN.net]
Chardet is a Python module that attempts to determine which character set was used to encode a text string. It was originally written by Mark Pilgrim, who is also the author of a number of Python books; the 1.0 release happened in 2006. For many years, this module has been under the maintainership of Dan Blanchard. Chardet has always been licensed under the LGPL, but, with the 7.0.0 release, Blanchard changed the terms to the permissive MIT license. That has led to an extensive (and ongoing) discussion on when code can be relicensed against the wishes of its original author, and whether using a large language model to rewrite code is a legitimate way to strip copyleft requirements from code.
Urbanist Ron Davis Hungers for the House [The Stranger]
Davis has heard grumblings about his decision to run against an established Democrat incumbent, but he thinks he's the right choice for the seat. by Nathalie Graham
I sat across from Ron Davis—dad, urbanist, bald—at Tailwind Cafe in Capitol Hill. He wasn’t going to eat during our interview, but then he saw the menu: the “finest” avocado toast in the city. He had to try it. But we weren’t here to discuss toast. We were here to discuss his latest candidacy.
Voters may remember the former tech start-up CEO from his 2023 city council campaign. He ran for the District 4 seat as a density champion, a progressive—aka everything 2023 voters rejected. Outspent by corporate PACs, he lost to Maritza Rivera. He’s been a constant poster since—skeets, TikToks, Reels, and Substacks (or just stacks?). Raise your hands, Rondezvous readers.
Even if you haven’t seen Davis, you’ve probably sensed him. He’s become a progressive mainstay in local politics. He even flirted with a mayoral run before Katie Wilson jumped in. A believer in the cause—and a casualty of corporate fundraising—he fundraised with Progressive People Power PAC (P3) which helped unseat Sara Nelson and kickstarted the PAC that supported Wilson with political consultant Stephen Paolini. (“He and I, together basically raised all the individual contributor money between the two of us,” says Paolini, the director of the Katie Wilson for an Affordable Seattle PAC.)
Now he’s hoping to knock Rep. Gerry Pollet out of Washington’s 46th District, the Northeast Seattle region he’s represented for 15 years.
Davis says he’s heard grumblings about this decision. Taking on a 15-year incumbent is expensive and there are actual swing districts where people want to put their energy and their dollars. But “good enough is not good enough, especially right now,” Davis says.
Pollet may be fine on taxes and education, but he’s also a NIMBY firmly standing in the way of change, Davis says. “There's no suburb left in the district, it’s time to act like it,” he says, citing Pollet’s vote against an environmental review exemption to speed along patching the missing link in the Burke Gilman trail, and Pollet’s watering down of the “missing middle” housing bill back in 2022, which could have allowed denser buildings in more places.
Davis wants to build more housing, improve transportation, stick it to Donald Trump, pass progressive revenue. Even if it ruffles some feathers, he thinks he’s the better person for the job.
While writing this story, Pollet’s communications consultant Erik Houser texted me to say he heard I was writing about Davis, and Pollet wanted to respond to anything negative Davis said about him.
Pollet rejects Davis’ characterization. In a statement, Pollet said “he has long advocated for increasing density in Seattle and the 46th district” and has sponsored legislation to make that happen, including 2025’s “middle housing and transit oriented development bills.” He did vote against suspending the environmental review for the Burke Gilman Trail, but maintains “the legislature has put these environmental reviews in place for an important purpose.”
Paolini and Tiffani McCoy, the interim CEO of the Seattle Social Housing Developer, agree that Davis is a housing juggernaut. He’s already been in Olympia advocating for housing bills, like last year’s Parking Reform and Modernization Act which restricts how much parking cities and counties can require for new housing. Davis says he put together the coalition that got the bill passed.
“I realized this is a place I could really make a difference,” he says.
Davis is persistent to the point of being professionally annoying, he says. “It's kind of a personality flaw, but it turns out, like in enterprise sales where I come from, and politics it has proven very, very useful, even if it drives some people nuts.”
Effective, but is that the personality of a guaranteed collaborator, or a pusher hungry for credit and adoration?
Wait. Hold on. Davis’ avocado toast arrived. He paused to take a photo. Two juicy fried eggs sat on the green bed of fluffed avocado, dusted with cracked pepper and spices.
“Oh, the lighting is bad,” he says, and readjusted, leaning back and lowering his body in the chair, twisting his phone to the landscape position.
“Do you always take photos of your food?”
“Not always but when I go—” he gasps— “then I get really excited about it,” he says. The pictures often go nowhere.
He pressed his knife into one fried egg. Yolk spilled over the toast.
He dug in the toast and his loftier goals: 1,000 miles of new bus-only lanes across the state, taxes on the rich to pay for universal child care (the millionaires' tax doesn’t go far enough, he says), and myriad wonky housing proposals.
And then there’s that damn President and his gooners. Davis supports several of the anti-ICE bills making their way through the Legislature—a potentially unenforceable bill to unmask ICE, and another prohibiting agents from becoming cops in Washington. Though the latter doesn’t go far enough, he says.
“It should be a permanent ban from working for any state or locally-funded organization.”
“We should punish companies that collaborate [with ICE],” he says, waving his fork with a perfect bite of fried egg and avocado toast. This could mean taxing them more or, at the state level, cutting any contracts with businesses that are also working with ICE in any capacity.
Davis wants there to be a state run “office of people” to disrupt ICE operations. People “who are trained in interruption and de-escalation, and who have an understanding of the ways to maximize the difficulty for ICE.” He wants the people “ready and deployable” to make ICE operations more difficult and costlier in Washington.
That’s kind of fucking crazy. All I could say was, “Wow, I can only imagine the Truth Social posts.”
“[Conservatives] say all that shit about paid protesters—they make all that shit up anyway—why not do it?” Davis says.
“That was fucking amazing,” he says of his avocado toast. “Be sure to get the extra egg. I just love runny yolk. I had a whole spiritual experience while we were talking.”
Ed's Note: This story has been updated to clarify that Davis fundraised for individual campaign contributions.
Buildroot 2026.02 released [LWN.net]
Peter Korsgaard has announced version 2026.02 of Buildroot, a tool for generating embedded Linux systems through cross-compilation. Notable changes include added support for HPPA, use of the 6.19.x kernel headers by default, better SBOM generation, and more.
Again a very active cycle with more than 1500 changes from 97 unique contributors. I'm once again very happy to see so many "new" people next to the "oldtimers".
See the changelog for full details. Thanks to Julien Olivain for pointing us to the announcement.
Dirk Eddelbuettel: RcppGSL 0.3.14 on CRAN: Maintenance [Planet Debian]

A new release 0.3.14 of RcppGSL is now on CRAN. The RcppGSL package provides an interface from R to the GNU GSL by relying on the Rcpp package. It has already been uploaded to Debian, and is also already available as a binary via r2u.
This release, the first in over three years, contains mostly
maintenance changes. We polished the fastLm example
implementation a little more, updated continunous integration as
one does over such a long period, adopted the Authors@R convention,
switched the (pre-made) pdf vignette to a new driver now provided
by Rcpp, updated vignette
references and URLs, and updated one call to Rf_error
to aid in a Rcpp transition
towards using only Rcpp::stop which unwinds error
conditions better. (Technically this was a false positive on
Rf_error but on the margin worth tickling this release
after all this time.)
The NEWS entry follows:
Changes in version 0.3.14 (2026-03-05)
Updated some internals of
fastLmexample, and regeneratedRcppExports.*filesSeveral updates for continuous integration
Switched to using Authors@R
Replace
::Rf_errorwith(Rf_error)in old example to aid Rcpp transition toRcpp::stop(or this pass-through)Vignette now uses the
Rcpp::asisbuilder for pre-made pdfsVignette references have been updated, URLs prefer https and DOIs
Thanks to my CRANberries, there is also a diffstat report for this release. More information is on the RcppGSL page. Questions, comments etc should go to the issue tickets at the GitHub repo.
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 now sponsor me at GitHub.
Slog AM: Republicans Want Unconstitutional War, Mayor Wilson Wants 1,000 Shelter Units, and Dems Argue Over Millionaires' Tax [The Stranger]
The Stranger's morning news roundup. by Micah Yip
Constitution? I Hardly Know Him: Senate Republicans voted down a war powers resolution that would’ve halted the attacks on Iran and allowed time for Congress to authorize the war. That’s the Constitutional way to go to war, anyway—only Congress has the power to declare war. The president does not (despite this, we haven’t declared any of our wars since World War II, and we’ve waged many). The House will vote today on a similar measure, but it’s expected to fail.
Also: The US government is dodging responsibility for the deadly strike on the Iranian girls’ school, with Defense Secretary Pete Hegseth only saying they’re “investigating” the incident. The incident killed at least 165 students and injured 96 others.
And Also: President Donald Trump says he must be involved in choosing Iran’s next leader. Replacing Ayatollah Ali Khamenei with Mojtaba Khamenei, his son and likely successor, would be “unacceptable,” Trump said.
Trespassing/Occupying, Tomayto/Tomahto: Last May, 33 protesters broke into and occupied the University of Washington’s Interdisciplinary Engineering Building, smashing windows, spray painting walls, breaking equipment and setting dumpsters on fire to protest the university’s ties to Boeing, which sells weapons to Israel. Twenty-three of them were UW students. Yesterday, King County prosecutors charged them with misdemeanor criminal trespassing—a downgrade from the original felony charges they got in June, which were dropped for lack of evidence. They’ll be arraigned on March 25.
Another Day, Another Anti-Trans Effort: An initiative to keep trans girls out of sports will appear on November’s statewide ballot. Backed by Brian Heywood, the conservative hedge fund manager who founded Let’s Go Washington, Initiative IL26-638 would require girls to “verify their biological sex” with a health care provider to play school sports. Verification could include blood draws and genital exams.
The War on Drugs Sugar: Health and Human Services Secretary Robert F. Kennedy Jr. wants Dunkin’ and Starbucks to prove their sugary coffee drinks are “safe.” How about informing Americans of the risks of going unvaccinated?
Mayor Wilson Proposes 1,000 New Shelter Units: Mayor Katie Wilson sent legislation to City Council that would let the city more quickly secure space for 1,000 new units of shelter and emergency housing in Seattle this year. Her proposal would both allow the Finance and Administrative Services Department to sign lease agreements with property owners and temporarily increase the number of people allowed in most shelters from 100 to 150, while one shelter in each district could house up to 250.
Weather: Mostly cloudy with a high of 51 and a 50 percent chance of rain before noon. Tonight, temps drop to a low around 44 with rain falling after midnight.
Ouch: Republican Sen. Tim Sheehy tried to help Capitol police arrest Brian McGinnis, a Marine and Green Party candidate, protesting the war in Iran at a Senate hearing yesterday, and ended up snapping his arm as he clutched the door.
Here’s the video. Keep scrolling if you’re squeamish.
[TW: graphic fracture, sound of breaking bone]
Sen Tim Sheehy (R-Montana) badly breaking the arm of a Marine veteran protesting the war Iran.
— Claire Zagorski, MSc, EMT-P (@clairezagorski.bsky.social) March 4, 2026 at 2:05 PM
[image or embed]
Extreme County Makeover (Cont.): It looks like King County Executive Girmay Zahilay is continuing to reconfigure the county workforce. He just hired a new internal auditor and created a “subcabinet” focused on accountability, new internal grant fund controls and training employees on ethics and fraud prevention to “improve oversight of the county’s finances.”
Hurry Up: State lawmakers are running out of time to pass the millionaires' tax before the legislative session ends. Most Democrats support the bill, but intra-party division threatens to derail this much needed tax. If passed, the bill would still need Gov. Bob Ferguson’s signature, but he’s now said for the third time the measure still needs revisions before he’d sign. He said he’s hopeful they can reach an agreement but is committed to getting this “right,” even if that means pushing the issue to next year.
War in Iran Brings Higher Gas Prices: The state's average price climbed another two cents per gallon. The state’s average price is $4.40 per gallon, as of yesterday—43 cents more than a month ago and $1.20 above the national average.
FIFA Transit Money: Seattle is getting $8.4 million from the $100 million Federal Transit Administration to mitigate any strain on the city’s public transit system from the FIFA World Cup this summer. These funds can be used for event planning, hiring, security equipment, and more. The money is part of last month’s $1.2 trillion congressional spending package that prevented a government shutdown but stalled funding for the Department of Homeland Security.
Will Iran Send a Team? They’re scheduled to play against Egypt in Seattle on June 26, but after the US attacks, Iranian soccer federation President Mehdi Taj said they might not.
Sean Whitton: Southern Biscuits with British ingredients [Planet Debian]

I miss the US more and more, and have recently been trying to perfect Southern Biscuits using British ingredients. It took me eight or nine tries before I was consistently getting good results. Here is my recipe.
It turns out that the “pepper gravy” that one commonly has with biscuits is just a white/béchamel sauce made with lots of black pepper. I haven’t got a recipe I really like for this yet. Better is a “sausage gravy”; again this has a white sauce as its base, I believe. I have a vegetarian recipe for this to try at some point.
British plain flour is made from soft wheat and has a lower percentage of protein/gluten, while American all-purpose flour is often(?) made from harder wheat and has more protein. In this recipe I mix plain and strong white flour, in a ratio of 3:1, to emulate American all-purpose flour.
I am not sure why this works best. In the South they have soft wheats too, and lower protein percentages. The famous White Lily flour is 9%. (Apparently you can mix US cake flour and US all-purpose flour in a ratio of 1:1 to achieve that; in the UK, Shipton Mill sell a “soft cake and pastry flour” which has been recommended to me as similar.)
This would suggest that British plain flour ought to be closer to Southern flour than the standard flour available in most of the US. But my experience has been that the biscuits taste better with the plain and strong white 3:1 mix. Possibly Southeners would disprefer them. I got some feedback that good biscuits are about texture and moistness and not flavour.
Sean Whitton: dgit-as-a-service retrospective [Planet Debian]

We recently launched tag2upload, aka cloud dgit or dgit-as-a-service. This was something of a culmination of work I’ve been doing since 2016 towards modernising Debian workflows, so I thought I’d write a short personal retrospective.
When I started contributing to Debian in 2015, I was not impressed with how packages were represented in Git by most package maintainers, and wanted a pure Git workflow. I read a couple of Joey Hess’s blog posts on the matter, a rope ladder to the dgit treehouse and upstream git repositories and made a bug report against dgit hoping to tie some things together.
The results of that early work were the git-deborig(1) program and the dgit-maint-merge(7) tutorial manpage. Starting with Joey’s workflow pointers, I developed a complete, pure Git workflow that I thought would be suitable for all package maintainers in Debian. It was certainly well-suited for my own packages. It took me a while to learn that there are packages for which this workflow is too simple. We now also have the dgit-maint-debrebase(7) workflow which uses git-debrebase, something which wasn’t invented until several years later. Where dgit-maint-merge(7) won’t do, you can use dgit-maint-debrebase(7), and still be doing pretty much pure Git. Here’s a full, recent guide to modernisation.
The next most significant contribution of my own was the
push-source subcommand for dgit. dgit
push required a preexisting .changes file
produced from the working tree. I wanted to make dgit
push-source prepare that .changes file for you,
but also not use the working tree, instead consulting
HEAD. The idea was that you were doing a git push
– which doesn’t care about the working tree –
direct to the Debian archive, or as close as we could get. I
implemented that at DebConf18 in Taiwan, I think, with Ian, and we
also did
a talk on git-debrebase. We ended up having to change it to
look at the working tree in addition to HEAD to make
it work as well as possible, but I think that the idea of a command
which was like doing a Git push direct to the archive was perhaps
foundational for us later wanting to develop tag2upload. Indeed,
while tag2upload’s client-side tool git-debpush does look at
the working tree, it doesn’t do so in a way that is essential
to its operation. tag2upload is dgit
push-source-as-a-service.
And finally we come to tag2upload, a system Ian and I designed in 2019 during a two-person sprint at his place in Cambridge, while I was visiting the UK from Arizona. With tag2upload, appropriately authorised Debian package maintainers can upload to Debian with only pure Git operations – namely, making and pushing a signed Git tag to Debian’s GitLab instance. Although we had a solid prototype in 2019, we only finally launched it last month, February 2026. This was mostly due to political delays, but also because we have put in a lot of hours making it better in various ways.
Looking back, one thing that seems notable to me is that the core elements of the pure Git workflows haven’t changed much at all. Working out all the details of dgit-maint-merge(7), designing and writing git-debrebase (Ian’s work), and then working out all the details of dgit-maint-debrebase(7), are the important parts, to me. The rest is mostly just large amounts of compatibility code. git-debrebase and dgit-maint-debrebase(7) are very novel but dgit-maint-merge(7) is mostly just an extrapolation of Joey’s thoughts from 13 years ago. And yet, adoption of these workflows remains low.
People prefer to use what they are used to using, even if the workflows have significant inconveniences. That’s completely understandable; I’m really interested in good workflows, but most other contributors care less about it. But you would expect enough newcomers to have arrived in 13 years that the new workflows would have a higher uptake. That is, packages maintained by contributors that got involved after these workflows became available would be maintained using newer workflows, at least. But the inertia seems to be too strong even for that. Instead, new contributors used to working purely out of Git are told they need to learn Debian’s strange ways of representing things, tarballs and all. It doesn’t have to be that way. We hope that tag2upload will make the pure Git workflows seem more appealing to people.
[$] Reconsidering the multi-generational LRU [LWN.net]
The multi-generational LRU (MGLRU) is an alternative memory-management algorithm that was merged for the 6.1 kernel in late 2022. It brought a promise of much-improved performance and simplified code. Since then, though, progress on MGLRU has stalled, and it still is not enabled on many systems. As the 2026 Linux Storage, Filesystem, Memory-Management and BPF Summit (LSFMM+BPF) approaches, several memory-management developers have indicated a desire to talk about the future of MGLRU. While some developers are looking for ways to improve the subsystem, another has called for it to be removed entirely.
Update, re: Secret Project at the Scalzi Compound [Whatever]

We have an outline! Major characters, plot lines, and various important story beats all laid out. Now to start writing it all up. Very exciting stuff.
This is worth noting because this is the first time Athena and I are doing this, but it won’t be the last, since we’ll be using this process to develop other projects soon. This is what our little family business does, after all: Think of cool stuff that we can then develop into actual projects that will hopefully become things you can see and buy. This is, hopefully, the first of many.
— JS
Security updates for Thursday [LWN.net]
Security updates have been issued by AlmaLinux (go-rpm-macros, libpng, thunderbird, udisks2, and valkey), Fedora (coturn, php-zumba-json-serializer, valkey, and yt-dlp), Red Hat (delve, go-rpm-macros, grafana, grafana-pcp, image-builder, osbuild-composer, and postgresql), Slackware (nvi), SUSE (firefox, glibc, haproxy, kernel, kubevirt, libsoup, libsoup2, libxslt, mozilla-nss, ocaml, python, python-Django, python-pip, util-linux, virtiofsd, wicked2nm,suse-migration-services,suse-migration- sle16-activation,SLES16-Migration,SLES16-SAP_Migration, and wireshark), and Ubuntu (gimp, linux-aws, linux-lts-xenial, linux-aws-fips, linux-azure, linux-azure-fips, linux-fips, nss, postgresql-14, postgresql-16, postgresql-17, and qemu).
The Accidental Orchestrator [Radar]
This is the first article in a series on agentic engineering and AI-driven development. Look for the next article on March 19 on O’Reilly Radar.
There’s been a lot of hype about AI and software development, and it comes in two flavors. One says, “We’re all doomed, that tools like Claude Code will make software engineering obsolete within a year.” The other says, “Don’t worry, everything’s fine, AI is just another tool in the toolbox.” Neither is honest.
I’ve spent over 20 years writing about software development for practitioners, covering everything from coding and architecture to project management and team dynamics. For the last two years I’ve been focused on AI, training developers to use these tools effectively, writing about what works and what doesn’t in books, articles, and reports. And I kept running into the same problem: I had yet to find anyone with a coherent answer for how experienced developers should actually work with these tools. There are plenty of tips and plenty of hype but very little structure, and very little you could practice, teach, critique, or improve.
I’d been observing developers at work using AI with various levels of success, and I realized we need to start thinking about this as its own discipline. Andrej Karpathy, the former head of AI at Tesla and a founding member of OpenAI, recently proposed the term “agentic engineering” for disciplined development with AI agents, and others like Addy Osmani are getting on board. Osmani’s framing is that AI agents handle implementation but the human owns the architecture, reviews every diff, and tests relentlessly. I think that’s right.
But I’ve spent a lot of the last two years teaching developers how to use tools like Claude Code, agent mode in Copilot, Cursor, and others, and what I keep hearing is that they already know they should be reviewing the AI’s output, maintaining the architecture, writing tests, keeping documentation current, and staying in control of the codebase. They know how to do it in theory. But they get stuck trying to apply it in practice: How do you actually review thousands of lines of AI-generated code? How do you keep the architecture coherent when you’re working across multiple AI tools over weeks? How do you know when the AI is confidently wrong? And it’s not just junior developers who are having trouble with agentic engineering. I’ve talked to senior engineers who struggle with the shift to agentic tools, and intermediate developers who take to it naturally. The difference isn’t necessarily the years of experience; it’s whether they’ve figured out an effective and structured way to work with AI coding tools. That gap between knowing what developers should be doing with agentic engineering and knowing how to integrate it into their day-to-day work is a real source of anxiety for a lot of engineers right now. That’s the gap this series is trying to fill.
Despite what much of the hype about agentic engineering is telling you, this kind of development doesn’t eliminate the need for developer expertise; just the opposite. Working effectively with AI agents actually raises the bar for what developers need to know. I wrote about that experience gap in an earlier O’Reilly Radar piece called “The Cognitive Shortcut Paradox.” The developers who get the most from working with AI coding tools are the ones who already know what good software looks like, and can often tell if the AI wrote it.
The idea that AI tools work best when experienced developers are driving them matched everything I’d observed. It rang true, and I wanted to prove it in a way that other developers would understand: by building software. So I started building a specific, practical approach to agentic engineering built for developers to follow, and then I put it to the test. I used it to build a production system from scratch, with the rule that AI would write all the code. I needed a project that was complex enough to stress-test the approach, and interesting enough to keep me engaged through the hard parts. I wanted to apply everything I’d learned and discover what I still didn’t know. That’s when I came back to Monte Carlo simulations.
I’ve been obsessed with Monte Carlo simulations ever since I was a kid. My dad’s an epidemiologist—his whole career has been about finding patterns in messy population data, which means statistics was always part of our lives (and it also means that I learned SPSS at a very early age). When I was maybe 11 he told me about the drunken sailor problem: A sailor leaves a bar on a pier, taking a random step toward the water or toward his ship each time. Does he fall in or make it home? You can’t know from any single run. But run the simulation a thousand times, and the pattern emerges from the noise. The individual outcome is random; the aggregate is predictable.
I remember writing that simulation in BASIC on my TRS-80 Color Computer 2: a little blocky sailor stumbling across the screen, two steps forward, one step back. The drunken sailor is the “Hello, world” of Monte Carlo simulations. Monte Carlo is a technique for problems you can’t solve analytically: You simulate them hundreds or thousands of times and measure the aggregate results. Each individual run is random, but the statistics converge on the true answer as the sample size grows. It’s one way we model everything from nuclear physics to financial risk to the spread of disease across populations.
What if you could run that kind of simulation today by describing it in plain English? Not a toy demo but thousands of iterations with seeded randomness for reproducibility, where the outputs get validated and the results get aggregated into actual statistics you can use. Or a pipeline where an LLM generates content, a second LLM scores it, and anything that doesn’t pass gets sent back for another try.
The goal of my experiment was to build that system, which I called Octobatch. Right now, the industry is constantly looking for new real-world end-to-end case studies in agentic engineering, and I wanted Octobatch to be exactly that case study.
I took everything I’d learned from teaching and observing developers working with AI, put it to the test by building a real system from scratch, and turned the lessons into a structured approach to agentic engineering I’m calling AI-driven development, or AIDD. This is the first article in a series about what agentic engineering looks like in practice, what it demands from the developer, and how you can apply it to your own work.
The result is a fully functioning, well-tested application that consists of about 21,000 lines of Python across several dozen files, backed by complete specifications, nearly a thousand automated tests, and quality integration and regression test suites. I used Claude Cowork to review all the AI chats from the entire project, and it turns out that I built the entire application in roughly 75 hours of active development time over seven weeks. For comparison, I built Octobatch in just over half the time I spent last year playing Blue Prince.
But this series isn’t just about Octobatch. I integrated AI tools at every level: Claude and Gemini collaborating on architecture, Claude Code writing the implementation, LLMs generating the pipelines that run on the system they helped build. This series is about what I learned from that process: the patterns that worked, the failures that taught me the most, and the orchestration mindset that ties it all together. Each article pulls a different lesson from the experiment, from validation architecture to multi-LLM coordination to the values that kept the project on track.
When most people talk about using AI to write code, they mean one of two things: AI coding assistants like GitHub Copilot, Cursor, or Windsurf, which have evolved well beyond autocomplete into agentic tools that can run multifile editing sessions and define custom agents; or “vibe coding,” where you describe what you want in natural language and accept whatever comes back. These coding assistants are genuinely impressive, and vibe coding can be really productive.
Using these tools effectively on a real project, however, maintaining architectural coherence across thousands of lines of AI-generated code, is a different problem entirely. AIDD aims to help solve that problem. It’s a structured approach to agentic engineering where AI tools drive substantial portions of the implementation, architecture, and even project management, while you, the human in the loop, decide what gets built and whether it’s any good. By “structure,” I mean a set of practices developers can learn and follow, a way to know whether the AI’s output is actually good, and a way to stay on track across the life of a project. If agentic engineering is the discipline, AIDD is one way to practice it.
In AI-driven development, developers don’t just accept suggestions or hope the output is correct. They assign specific roles to specific tools: one LLM for architecture planning, another for code execution, a coding agent for implementation, and the human for vision, verification, and the decisions that require understanding the whole system.
And the “driven” part is literal. The AI is writing almost all of the code. One of my ground rules for the Octobatch experiment was that I would let AI write all of it. I have high code quality standards, and part of the experiment was seeing whether AIDD could produce a system that meets them. The human decides what gets built, evaluates whether it’s right, and maintains the constraints that keep the system coherent.
Not everyone agrees on how much the developer needs to stay in the loop, and the fully autonomous end of the spectrum is already producing cautionary tales. Nicholas Carlini at Anthropic recently tasked 16 Claude instances to build a C compiler in parallel with no human in the loop. After 2,000 sessions and $20,000 in API costs, the agents produced a 100,000-line compiler that can build a Linux kernel but isn’t a drop-in replacement for anything, and when all 16 agents got stuck on the same bug, Carlini had to step back in and partition the work himself. Even strong advocates of a completely hands-off, vibe-driven approach to agentic engineering might call that a step too far. The question is how much human judgment you need to make that code trustworthy, and what specific practices help you apply that judgment effectively.
If you want to get developers thinking about agentic engineering in the right way, you have to start with how they think about working with AI, not just what tools they use. That’s where I started when I began building a structured approach, and it’s why I started with habits. I developed a framework for these called the Sens-AI Framework, published as both an O’Reilly report (Critical Thinking Habits for Coding with AI) and a Radar series. It’s built around five practices: providing context, doing research before prompting, framing problems precisely, iterating deliberately on outputs, and applying critical thinking to everything the AI produces. I started there because habits are how you lock in the way you think about how you’re working. Without them, AI-driven development produces plausible-looking code that falls apart under scrutiny. With them, it produces systems that a single developer couldn’t build alone in the same time frame.
Habits are the foundation, but they’re not the whole picture. AIDD also has practices (concrete techniques like multi-LLM coordination, context file management, and using one model to validate another’s output) and values (the principles behind those practices). If you’ve worked with Agile methodologies like Scrum or XP, that structure should be pretty familiar: Practices tell you how to work day-to-day, and habits are the reflexes you develop so that the practices become automatic.
Values often seem weirdly theoretical, but they’re an important piece of the puzzle because they guide your decisions when the practices don’t give you a clear answer. There’s an emerging culture around agentic engineering right now, and the values you bring to your project either match or clash with that culture. Understanding where the values come from is what makes the practices stick. All of that leads to a whole new mindset, what I’m calling the orchestration mindset. This series builds all four layers, using Octobatch as the proving ground.
Octobatch was a deliberate experiment in AIDD. I designed the project as a test case for the entire approach, to see what a disciplined AI-driven workflow could produce and where it would break down, and I used it to apply and improve the practices and values to make them effective and easy to adopt. And whether by instinct or coincidence, I picked the perfect project for this experiment. Octobatch is a batch orchestrator. It coordinates asynchronous jobs, manages state across failures, tracks dependencies between pipeline steps, and makes sure validated results come out the other end. That kind of system is fun to design but a lot of the details, like state machines, retry logic, crash recovery, and cost accounting, can be tedious to implement. It’s exactly the kind of work where AIDD should shine, because the patterns are well understood but the implementation is repetitive and error-prone.
Orchestration—the work of coordinating multiple independent processes toward a coherent outcome—evolved into a core idea behind AIDD. I found myself orchestrating LLMs the same way Octobatch orchestrates batch jobs: assigning roles, managing handoffs, validating outputs, recovering from failures. The system I was building and the process I was using to build it followed the same pattern. I didn’t anticipate it when I started, but building a system that orchestrates AI turns out to be a pretty good way to learn how to orchestrate AI. That’s the accidental part of the accidental orchestrator. That parallel runs through every article in this series.
Want Radar delivered straight to your inbox? Join us on Substack. Sign up here.
I didn’t begin the Octobatch project by starting with a full end-to-end Monte Carlo simulation. I started where most people start: typing prompts into a chat interface. I was experimenting with different simulation and generation ideas to give the project some structure, and a few of them stuck. A blackjack strategy comparison turned out to be a great test case for a multistep Monte Carlo simulation. NPC dialogue generation for a role-playing game gave me a creative workload with subjective quality to measure. Both had the same shape: a set of structured inputs, each processed the same way. So I had Claude write a simple script to automate what I’d been doing by hand, and I used Gemini to double-check the work, make sure Claude really understood my ask, and fix hallucinations. It worked fine at small scale, but once I started running more than a hundred or so units, I kept hitting rate limits, the caps that providers put on how many API requests you can make per minute.
That’s what pushed me to LLM batch APIs. Instead of sending individual prompts one at a time and waiting for each response, the major LLM providers all offer batch APIs that let you submit a file containing all of your requests at once. The provider processes them on their own schedule; you wait for results instead of getting them immediately, but you don’t have to worry about rate caps. I was happy to discover they also cost 50% less, and that’s when I started tracking token usage and costs in earnest. But the real surprise was that batch APIs performed better than real-time APIs at scale. Once pipelines got past the 100- or 200-unit mark, batch started running significantly faster than real time. The provider processes the whole batch in parallel on their infrastructure, so you’re not bottlenecked by round-trip latency or rate caps anymore.
The switch to batch APIs changed how I thought about the whole problem of coordinating LLM API calls at scale, and led to the idea of configurable pipelines. I could chain stages together: The output of one step could become the input to the next, and I could kick off the whole pipeline and come back to finished results. It turns out I wasn’t the only one making the shift to batch APIs. Between April 2024 and July 2025, OpenAI, Anthropic, and Google all launched batch APIs, converging on the same pricing model: 50% of the real-time rate in exchange for asynchronous processing.
You probably didn’t notice that all three major AI providers released batch APIs. The industry conversation was dominated by agents, tool use, MCP, and real-time reasoning. Batch APIs shipped with relatively little fanfare, but they represent a genuine shift in how we can use LLMs. Instead of treating them as conversational partners or one-shot SaaS APIs, we can treat them as processing infrastructure, closer to a MapReduce job than a chatbot. You give them structured data and a prompt template, and they process all of it and hand back the results. What matters is that you can now run tens of thousands of these transformations reliably, at scale, without managing rate limits or connection failures.
If batch APIs are so useful, why can’t you just write a for-loop that submits requests and collects results? You can, and for simple cases a quick script with a for-loop works fine. But once you start running larger workloads, the problems start to pile up. Solving those problems turned out to be one of the most important lessons for developing a structured approach to agentic engineering.
First, batch jobs are asynchronous. You submit a job, and results come back hours later, so your script needs to track what was submitted and poll for completion. If your script crashes in the middle, you lose that state. Second, batch jobs can partially fail. Maybe 97% of your requests succeeded and 3% didn’t. Your code needs to figure out which 3% failed, extract them, and resubmit just those items. Third, if you’re building a multistage pipeline where the output of one step feeds into the next, you need to track dependencies between stages. And fourth, you need cost accounting. When you’re running tens of thousands of requests, you want to know how much you spent, and ideally, how much you’re going to spend when you first start the batch. Every one of these has a direct parallel to what you’re doing in agentic engineering: keeping track of the work multiple AI agents are doing at once, dealing with code failures and bugs, making sure the entire project stays coherent when AI coding tools are only looking at the one part currently in context, and stepping back to look at the wider project management picture.
All of these problems are solvable, but they’re not problems you want to solve over and over (in both situations—when you’re orchestrating LLM batch jobs or orchestrating AI coding tools). Solving these problems in the code gave some interesting lessons about the overall approach to agentic engineering. Batch processing moves the complexity from connection management to state management. Real-time APIs are hard because of rate limits and retries. Batch APIs are hard because you have to track what’s in flight, what succeeded, what failed, and what’s next.
Before I started development, I went looking for existing tools that handled this combination of problems, because I didn’t want to waste my time reinventing the wheel. I didn’t find anything that did the job I needed. Workflow orchestrators like Apache Airflow and Dagster manage DAGs and task dependencies, but they assume tasks are deterministic and don’t provide LLM-specific features like prompt template rendering, schema-based output validation, or retry logic triggered by semantic quality checks. LLM frameworks like LangChain and LlamaIndex are designed around real-time inference chains and agent loops—they don’t manage asynchronous batch job lifecycles, persist state across process crashes, or handle partial failure recovery at the chunk level. And the batch API client libraries from the providers themselves handle submission and retrieval for a single batch, but not multistage pipelines, cross-step validation, or provider-agnostic execution.
Nothing I found covered the full lifecycle of multiphase LLM batch workflows, from submission and polling through validation, retry, cost tracking, and crash recovery, across all three major AI providers. That’s what I built.
The goal of this article, as the first one in my series on agentic engineering and AI-driven development, is to lay out the hypothesis and structure of the Octobatch experiment. The rest of the series goes deep on the lessons I learned from it: the validation architecture, multi-LLM coordination, the practices and values that emerged from the work, and the orchestration mindset that ties it all together. A few early lessons stand out, because they illustrate what AIDD looks like in practice and why developer experience matters more than ever.
Near the end of the project, I switched to Cursor to make sure none of this was specific to Claude Code. I created fresh conversations using the same context files I’d been maintaining throughout development, and was able to bootstrap productive sessions immediately; the context files worked exactly as designed. The practices I’d developed transferred cleanly to a different tool. The value of this approach comes from the habits, the context management, and the engineering judgment you bring to the conversation, not from any particular vendor.
These tools are moving the world in a direction that favors developers who understand the ways engineering can go wrong and know solid design and architecture patterns…and who are okay letting go of control of every line of code.
Agentic engineering needs structure, and structure needs a concrete example to make it real. The next article in this series goes into Octobatch itself, because the way it orchestrates AI is a remarkably close parallel to what AIDD asks developers to do. Octobatch assigns roles to different processing steps, manages handoffs between them, validates their outputs, and recovers when they fail. That’s the same pattern I followed when building it: assigning roles to Claude and Gemini, managing handoffs between them, validating their outputs, and recovering when they went down the wrong path. Understanding how the system works turns out to be a good way to understand how to orchestrate AI-driven development. I’ll walk through the architecture, show what a real pipeline looks like from prompt to results, present the data from a 300-hand blackjack Monte Carlo simulation that puts all of these ideas to the test, and use all of that to demonstrate ideas we can apply directly to agentic engineering and AI-driven development.
Later articles go deeper into the practices and ideas I learned from this experiment that make AI-driven development work: how I coordinated multiple AI models without losing control of the architecture, what happened when I tested the code against what I actually intended to build, and what I learned about the gap between code that runs and code that does what you meant. Along the way, the experiment produced some findings about how different AI models see code that I didn’t expect—and that turned out to matter more than I thought they would.
The Government Uses Targeted Advertising to Track Your Location. Here's What We Need to Do. [Deeplinks]
We've all had the unsettling experience of seeing an ad online that reveals just how much advertisers know about our lives. You're right to be disturbed. Those very same online ad systems have been used by the government to warrantlessly track peoples' locations, new reporting has confirmed.
For years, the internet advertising industry has been sucking up our data, including our location data, to serve us "more relevant ads." At the same time, we know that federal law enforcement agencies have been buying up our location data from shady data brokers that most people have never heard of.
Now, a new report gives us direct evidence that Customs and Border Protection (CBP) has used location data taken from the internet advertising ecosystem to track phones. In a document uncovered by 404 Media, CBP admits what we’ve been saying for years: The technical systems powering creepy targeted ads also allow federal agencies to track your location.
The document acknowledges that a program by the agency to use "commercially available marketing location data" for surveillance drew from the process used to select the targeted ads shown to you on nearly every website and app you visit. In this blog post, we'll tell you what this process is, how it can and is being used for state surveillance, and what can be done about it—by individuals, by lawmakers, and by the tech companies that enable these abuses.
The online advertising industry has built a massive surveillance machine, and the government can co-opt it to spy on us.
In the absence of strong privacy laws, surveillance-based advertising has become the norm online. Companies track our online and offline activity, then share it with ad tech companies and data brokers to help target ads. Law enforcement agencies take advantage of this advertising system to buy information about us that they would normally need a warrant for, like location data. They rely on the multi-billion-dollar data broker industry to buy location data harvested from people’s smartphones.
We’ve known for years that location data brokers are one part of federal law enforcement's massive surveillance arsenal, including immigration enforcement agencies like CBP and Immigration and Customs Enforcement (ICE). ICE, CBP and the FBI have purchased location data from the data broker Venntell and used it to identify immigrants who were later arrested. Last year, ICE purchased a spy tool called Webloc that gathers the locations of millions of phones and makes it easy to search for phones within specific geographic areas over a period of time. Webloc also allows them to filter location data by the unique advertising IDs that Apple and Google assign to our phones.
But a
document recently obtained by 404 Media is
the first time CBP has acknowledged the location data it buys is
partially sourced from the system powering nearly every ad you see
online: real-time bidding (RTB). As CBP puts it, “RTB-sourced
location data is recorded when an advertisement is
served.”
Even though this document is about a 2019-2021 pilot use of this data, CBP and other federal agencies have continued to purchase and use commercially obtained location data. ICE has purchased location tracking tools since then and recently requested information on “Ad Tech” tools it could use for investigations.
The CBP document acknowledges two sources of location data that it relies on: software development kits (SDKs) and RTB, both methods of location-tracking that EFF has written about before. Apps for weather, navigation, dating, fitness, and “family safety” often request location permissions to enable key features. But once an app has access to your location, it could share it with data brokers directly through SDKs or indirectly (and often without the app developers' knowledge) through RTB. Data brokers can collect location data from SDKs that they pay developers to put in their apps. When relying on RTB, data brokers don’t need any direct relationship with the apps and websites they’re collecting location data from. RTB is facilitated by ad companies that are already plugged into most websites and apps.
RTB is the process by which most websites and apps auction off their ad space. Unfortunately, the milliseconds-long auctions that determine which ads you see also expose your information, including location data, to thousands of companies a day. At a high-level, here’s how RTB works:
A key vulnerability of real-time bidding is that while only one advertiser wins the auction, all participants receive data about the person who would see their ad. As a result, anyone posing as an ad buyer can access a stream of sensitive data about billions of individuals a day. Data brokers have taken advantage of this vulnerability to harvest data at a staggering scale. For example, the FTC found that location data broker Mobilewalla collected data on over a billion people, with an estimated 60% sourced from RTB auctions. Leaked data from another location data broker, Gravy Analytics, referenced thousands of apps, including Microsoft apps, Candy Crush, Tinder, Grindr, MyFitnessPal, pregnancy trackers and religious-focused apps. When confronted, several of these apps’ developers said they had never heard of Gravy Analytics.
As Venntel, one of the location data brokers that has sold to ICE, puts it, “Commercially available bidstream data from the advertising ecosystem has long been one of the most comprehensive sources of real-time location and device data available.” But the privacy harms of RTB are not just a matter of misuse by individual data brokers. RTB auctions broadcast the average person’s data to thousands of companies, hundreds of times per day, with no oversight of how this information is ultimately exploited. Once your information is broadcast through RTB, it’s almost impossible to know who receives it or control how it’s used.
Revelations about the government's exploitation of this location data shows how dangerous online tracking has become, but we’re not powerless. Here are two basic steps you can take to better protect your location data:
For more tips, check out EFF’s guide to protecting yourself from mobile-device based location tracking. Keep in mind that the security plan that’s best for you will vary in different situations. For example, you may want to take stronger steps to protect your location data when traveling to a sensitive location, like a protest.
Legislators and tech companies must act so that individuals don’t bear the burden of defending their data every time they use the internet.
Ad tech companies must reckon with their role in warrantless government surveillance, among other privacy harms. The systems they built for targeted advertising are actively used to track people’s location. The best way to prevent online ads from fueling surveillance is to stop targeting ads based on detailed behavioral profiles. Ads can still be targeted contextually—based on the content people are viewing—without collecting or exposing their sensitive personal information. Short of moving to contextual advertising, tech companies can limit the use of their systems for government location tracking by:
Lawmakers also need to step up to protect their constituents' privacy. We need strong, federal privacy laws to stop companies from spying on us and selling our personal information. EFF advocates for data privacy legislation with teeth and a ban on ad targeting based on online behavioral profiles, as it creates a financial incentive for companies to track our every move.
Legislators can and must also close the "data broker loophole" on the Fourth Amendment. Instead of obtaining a warrant signed by a judge, law enforcement agencies can just buy location data from private brokers to find out where you've been. Last year, Montana became the first state in the U.S. to pass a law blocking the government from buying sensitive data it would otherwise need a warrant to obtain. And in 2024, Senator Ron Wyden's EFF-endorsed Fourth Amendment is Not for Sale Act passed the House before dying in the Senate. Others should follow suit to stop this end-run around constitutional protections.
Online behavioral advertising isn’t just creepy–it’s dangerous. It's wrong that our personal information is being silently harvested, bought by shadow-y data brokers, and sold to anyone who wants to invade our privacy. This latest revelation of warrantless government surveillance should serve as a frightening wakeup call of how dangerous online behavioral advertising has become.
CodeSOD: Qaudruple Negative [The Daily WTF]
We mostly don't pick on bad SQL queries here, because mostly the query optimizer is going to fix whatever is wrong, and the sad reality is that databases are hard to change once they're running; especially legacy databases. But sometimes the code is just so hamster-bowling-backwards that it's worth looking into.
Jim J has been working on a codebase for about 18 months. It's a big, sprawling, messy project, and it has code like this:
AND CASE WHEN @c_usergroup = 50 AND NOT EXISTS(SELECT 1 FROM l_appl_client lac WHERE lac.f_application = fa.f_application AND lac.c_linktype = 840 AND lac.stat = 0 AND CASE WHEN ISNULL(lac.f_client,0) <> @f_client_user AND ISNULL(lac.f_c_f_client,0) <> @f_client_user THEN 0 ELSE 1 END = 1 ) THEN 0 ELSE 1 END = 1 -- 07.09.2022
We'll come back to what it's doing, but let's start with a little backstory.
This code is part of a two-tier application: all the logic lives in SQL Server stored procedures, and the UI is a PowerBuilder application. It's been under development for a long time, and in that time has accrued about a million lines of code between the front end and back end, and has never had more than 5 developers working on it at any given time. The backlog of feature requests is nearly as long as the backlog of bugs.
You may notice the little date comment in the code above. That's because until Jim joined the company, they used Visual Source Safe for version control. Visual Source Safe went out of support in 2005, and let's be honest: even when it was in support it barely worked as a source control system. And that's just the Power Builder side- the database side just didn't use source control. The source of truth was the database itself. When going from development to test to prod, you'd manually export object definitions and run the scripts in the target environment. Manually. Yes, even in production. And yes, environments did drift and assumptions made in the scripts would frequently break things.
You may also notice the fields above use a lot of Hungarian
notation. Hungarian, in the best case, makes it harder to read and
reason about your code. In this case, it's honestly fully
obfuscatory. c_ stands for a codetable,
f_ for entities. l_ is for a many-to-many
linking table. z_ is for temporary tables. So is
x_. And t_. Except not all of those
"temporary" tables are truly temporary, a lesson Jim learned when
trying to clean up some "junk" tables which were not actually
junk.
I'll let Jim add some more detail around these prefixes:
an "application" may have a link to a "client", so there is an
f_clientfield; but also it references an "agent" (which is also in thef_clienttable, surpise!) - this is how you get anf_c_f_clientfield. I have no clue why the prefix isf_c_- but I also foundc_c_c_channelandfc4_contactcolumns. The latter was a shorthand forf_c_f_c_f_c_f_contact, I guess.
"f_c_f_c_f_c_f_c" is also the sound I'd make if I saw this in a codebase I was responsible for. It certainly makes me want to change the c_c_c_channel.
With all this context, let's turn it back over to Jim to explain the code above:
And now, with all this background in mind, let's have a look at the logic in this condition. On the deepest level we check that both
f_clientandf_c_f_clientare NOT equal to@f_client_user, and if this is the case, we return 0 which is NOT equal to 1 so it's effectively a negation of the condition. Then we check that records matching this condition do NOT EXIST, and when this is true - also return 0 negating the condition once more.
Honestly, the logic couldn't be clearer, when you put it that way. I jest, I've read that twelve times and I still don't understand what this is for or why it's here. I just want to know who we can prosecute for this disaster. The whole thing is a quadruple negative and frankly, I can't handle that kind of negativity.
Hacked App Part of US/Israeli Propaganda Campaign Against Iran [Schneier on Security]
Wired has the story:
Shortly after the first set of explosions, Iranians received bursts of notifications on their phones. They came not from the government advising caution, but from an apparently hacked prayer-timing app called BadeSaba Calendar that has been downloaded more than 5 million times from the Google Play Store.
The messages arrived in quick succession over a period of 30 minutes, starting with the phrase ‘Help has arrived’ at 9:52 am Tehran time, shortly after the first set of explosions. No party has claimed responsibility for the hacks.
It happened so fast that this is most likely a government operation. I can easily envision both the US and Israel having hacked the app previously, and then deciding that this is a good use of that access.
Grrl Power #1440 – Gambledämmerung [Grrl Power]
I want to know what Cora’s Hard Light Holo-Projection interface looks like that she can spontaneously select a sword and have it appear to grow out of her cleavage, all without missing a beat in her conversation. I imagine her eyes dart around a bit while she’s talking when she does something like that. On the other hand her hardlight limbs are obviously tied right into her motor cortex, and presumably she has proprioception and touch feedback hard wired into her brain as well, so it’s entirely possible that she can just imagine what she wants to happen, then commit to it by flexing her prefrontal cortex just so.
I don’t know a lot about betting, but on Tom’s screen there, he was prepared to bet on Max to win the entire tournament, which of course would be much longer odds than betting on her to win each round, one at a time. Well, statistically, I think the actual mathematical odds would be the same, but I’m sure the bookies weigh things differently and always slightly in their favor than pure math would allow. But really… how do you even set the odds of such a thing anyway? If you had massive amounts of data on all the fighters in the tournament, like a hundred fights against all sorts of different opponents, you might be able to put together some sort of in-the-ballpark statistical model, but “Ixah” is a total unknown, as are a few of the other remaining competitors, so I assume the odds at this point are derived mostly from gut feelings?
I put the odds on her to win the entire tournament at 7:1. She has to actually win this round, of course, then there’s the semi-final against seven more, presumably tougher opponents, and then the final is another 8 person Battle Royale. (I think, I haven’t actually totally finalized that in my head.) But 7:1 is probably pretty generous, even though she effectively eliminated 3 of the other competitors herself by showing off a lot of strength and even a little tactical acumen by neutralizing the singularity spell with another opponents attack. I’d guess at the beginning of the round, her odds of winning just this round would have been at 8:1 since she was an unknown… or maybe a little worse, since the bookies would be favoring UMBRage and Kill-7? Again, I don’t really know how that stuff is figured. But her odds of winning the entire tournament at that point might have been mathematically 512:1, but the bookies probably wouldn’t have given better odds than like 24:1 maybe?
I know the odds in gambling isn’t set entirely by statistical models, the amount of money in the pot also is a big factor, and I think the odds are actually limited by what it’s possible to pay out. At least, in “reputable” gambling forums. If someone bets $10 million on a pot that’s already only $1 million, the odds might shift to 1.1:1 maybe, despite how much of a long shot that three legged horse is to win? Maybe it’s possible the house will actually contribute to a pot, cause they take a fee to process all the bets or something, and that could sweeten the potential payout? I don’t know.
But Cora and friends placed their bets at the beginning of the tournament for her to sweep the whole thing, so they’re going to make bank if she pulls it off. They probably also placed smaller bets for her to win each round, that way they don’t lose everything if she gets knocked out in the semi-finals.
A tournament like this would also have all kind of weird other gambling going on, like wagering on how many total decapitations or incineration or whatever else occurs.
Ah! I thought I had more time till March. I’m bad
at looking at dates apparently. The new one is underway. I should
have a draft ready to go for the next Monday comic?
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.
Imagination is work [Seth's Blog]
We spend most of the time we’re in school extinguishing imagination. “Will this be on the test?” is a much more common question than “What if?” We’ve been trained to do tasks in a factory.
Imagination is a skill and it takes effort.
It’s not useful to say, “I’m not imaginative.”
It’s more accurate to realize that we might not care enough to get good at it, or to put in the effort it takes.
As tasks continue to be automated, the hard work of imagination is worth investing effort in.
Urgent: Stop big news merger [Richard Stallman's Political Notes]
US citizens: call on Congress and the FCC to protect local news, by blocking the Nexstar-TEGNA merger.
Urgent: CBS capitulating to US gov [Richard Stallman's Political Notes]
US citizens: call on CBS to stop yielding to magat bullying.
Urgent: Planantir immigrant surveillance [Richard Stallman's Political Notes]
US citizens: Call on Congress to stop the deportation thug department from using Palantir's massive surveillance system to track and target immigrants.
Urgent: Palantir's congressional funding [Richard Stallman's Political Notes]
US citizens: call on your congressional officials not to accept campaign funds from Palantir.
See the instructions for how to sign this letter campaign without running any nonfree JavaScript code--not trivial, but not hard.
Urgent: Climate science [Richard Stallman's Political Notes]
Everyone: Tell the IEA: Ignore Chris Wright’s Threats, Follow the Science on Climate Change.
See the instructions for how to sign this letter campaign without running any nonfree JavaScript code--not trivial, but not hard.
What if friends treated their friends as nicely as they treat dogs. When you sensed they needed a little support, you'd look them in the eye and say "Who's the good girl?" Rub behind the ears. When they sit give them a treat. Inside of us, everyone, including you, is a little pup who just wants to know they're in the right place doing the right thing.
Here is the second Child's Play Strip! We decided to go diegetic wit it.
[$] LWN.net Weekly Edition for March 5, 2026 [LWN.net]
Inside this week's LWN.net Weekly Edition:
Lock scroll with a vengeance [OSnews]
What’s the scroll lock key actually for?
Scroll Lock was reportedly specifically added for spreadsheets, and it solved a very specific problem: before mice and trackpads, and before fast graphic cards, moving through a spreadsheet was a nightmare. Just like Caps Lock flipped the meaning of letter keys, and Num Lock that of the numeric keypad keys, Scroll Lock attempted to fix scrolling by changing the nature of the arrow keys.
↫ Marcin Wichary
I never really put much thought into the scroll lock key, and I always just assumed that it would, you know, lock scrolling. I figured that in the DOS era, wherein the key originated, it stopped DOS from scrolling, keeping the current output of your DOS commands on the screen until you unlocked scrolling again. In graphical operating systems, I assumed it would stop any window with scrollable content from scrolling, or something – I just never thought about it, and never bothered to try.
Well, its original function was a bit different: with scroll lock disabled, hitting the arrow keys would move the selection cursor. With scroll lock enabled, hitting the arrow keys would move the content instead. After reading this, it makes perfect sense, and my original assumption seems rather silly. It also seems some modern programs, like Excel, Calc, some text editors, and others, still exhibit this same behaviour when the scroll lock key is used today.
The more you know.
Smoke anywhere else. by Anonymous
Hey, '90s throwback guy: Your cigarette smoke is gross. And I hate having to walk through it to get my coffee.
You’ve been asked—politely—by staff and customers to move. There is signage. There are coughs. There are stares. Yet you remain.
It’s peak Hill. A neighborhood that prides itself on being considerate—but when it comes to shared air, asking someone not to hotbox the doorway is apparently a controversial take.
We all share the sidewalk. We all share the air. The NO SMOKING sign is not a vibe check. It’s a rule. You are not bravely disrupting the system. You are just making everyone smell like 2003.
Newsflash: You are not the main character. Standing in the doorway, smoking like this? It’s giving entitled vibes—and that’s not a good look.
Please take an extra 20 steps. Smoke anywhere else. Capitol Hill is not short on corners.
Sincerely,
Someone Who Would Like Their Cortado Without a Side of Marlboros
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.
The new MacBook Neo is a great deal in the US, not so much in Europe [OSnews]
Apple today announced the “MacBook Neo,” an all-new kind of low-cost Mac featuring the A18 Pro chip for $599.
The MacBook Neo is the first Mac to be powered by an iPhone chip; the A18 Pro debuted in 2024’s iPhone 16 Pro models. Apple says it is up to 50% faster for everyday tasks than the bestselling PC with the latest shipping Intel Core Ultra 5, up to 3x faster for on-device AI workloads, and up to 2x faster for tasks like photo editing.
The MacBook Neo features a 13-inch Liquid Retina display with a 2408-by-1506 resolution, 500 nits of brightness, and an anti-reflective coating. The display does not have a notch, instead featuring uniform, iPad-style bezels.
↫ Hartley Charlton at MacRumors
There’s no denying this is a great offering from Apple, and it’s going to sell really well, especially in the US. I can’t think of any other laptop on the market that offers this kind of complete package at such an attractive price point – on the Windows side, you’re going to get plastic laptops with worse displays, worse battery life, and, well, Windows. For education buyers, the price drops from $599 to $499, making it a no-brainer choice for families sending their kids off to high school or university.
In the US, at least. Here in Europe, or at least in Sweden where I checked the price of the base model, it’s going for almost €800 ($930), at which point the cost-cutting measures Apple has taken are a bit harder to swallow. At that kind of price point, I’m not going to accept a mere 8GB of RAM, 256GB of storage, and a paltry 60Hz display. When I saw the announcement of this new MacBook earlier today, I wondered if this could be my way of finally getting a macOS review on OSNews after well over a decade, but at €800 for something I won’t be using after I’m done with the review? I can’t justify that.
Regardless, you’re going to see tons of these in schools and in wrapping paper for the holiday season and birthdays, and at least at American pricing, it’s definitely a great deal.
Meaty finger waves. by Meg van Huygen
It’s prep shift at Hamdi, and the room smells like fire. Winter sunlight filters in, and there’s a faint hum of spices in the charred air. Chef Berk Güldal is giving a private tutorial on making Turkish Adana-style kebap—aka kebab—a meticulous, laborious two-day process that plumps up these peppery lamb skewers.
Hand-mincing kebap is considered an art form in Southwest Asia, but this time-consuming process is being practiced less and less these days—even in Turkey, and certainly here in Seattle. Güldal, however, has all the time in the world to practice this thousand-year-old culinary craft.
Hamdi opened in 2021 as a Turkish food truck and moved into its beautiful, simple fine-dining space on Leary Way the following year. Güldal and his partner, Katrina Schult, had spent their careers in Michelin-starred restaurants—in Güldal’s hometown of Istanbul as well as NYC and Healdsburg, California, among other places—before peacing out to starless, Michelin-free Seattle to do their own thing.
That thing is fire. “We don’t have gas ranges,” Güldal says. “It’s all fire—wood or charcoal.” Low flames and embers burn here and there under grills around the open kitchen. It’d be a waste to NOT make kebap here.
The artist’s tools are a butcher block, a scraper, and a giant medieval-looking Turkish zirh (“zuh-ruh”). Genetically somewhere between a machete and a Bowie knife, it looks like the weapon your orc-slaying half-paladin/half-rogue D&D character carries. A fantasy knife.
I ask him if he bought it in Turkey, and he says, “No. I got it on Etsy.”
Güldal holds his colossal knife with both hands. A few pieces of suet—the hard fat that surrounds a lamb’s kidneys—sit in a ninth pan. He utilizes the zirh as a parer, deftly removing the silverskin enclosing each parcel of fat. “In Turkey,” he says, “they use tail fat for kebap. But it’s a different kind of lamb with a much bigger tail. It’s like a second butt.” However, America’s lambs aren’t quite as caked up, so Hamdi uses suet instead.
It’s no compromise. “To be honest, this lamb right here is the best lamb ever,” Güldal boasts. “We don’t need the tail.” Hamdi sources lamb from Anderson Ranches, 30 minutes outside Eugene, Oregon. “I cooked a lot of lamb in New York and California, at Michelin restaurants? I never tasted any lamb like this lamb.”
Güldal adds that Hamdi only uses grass-fed lamb, so Anderson Ranches is a natural choice, where free-range sheep and lambs graze on pasture ryegrass, herbs, and flowering forbs. “I really believe that grass-fed meat is the best, most nutritious food for your body,” he says. “It’s more chewy. It’s not gonna melt in your mouth. That’s why it’s great for kebap.”
The artist’s canvas is a massive wooden butcher’s block. This one was custom-made by Lee Andrews, a woodcarver in Walla Walla. “This artist told us this block’s gonna survive like four generations,” Güldal says. “Plastic just breaks.”
He sets the snow-white suet chunks on the block, then places his two-foot blade alongside them. Carefully but powerfully, he lifts the knife’s handle up and out, like a crank on a water pump, pinching the back of the blade with his other hand. He slides it back and forth over the pile for what seems like 20 minutes but is probably like five.
After Güldal pulverizes the suet into a hill of crumbles, Schult brings over some rough-chopped lamb belly, cold from the fridge, where it’s been aged for 24 hours. He begins delicately smithereening it with the same precise skill: slicing motions, not crushing motions. Sounds simple, but it really is a complex physical performance, requiring minute movements to flick and flex this heavy sword. Controlled strength as art. I could watch him do this all day.
“The purpose of this knife is to slice,” Güldal says. “When you put meat in a grinder—how most people do kebap now—it smooshes it, and it becomes very sticky and soft and loses texture. But here, you use a very sharp knife like this one, moving it minimally to slice, not chop.”
He adds that a grinder creates a dry kebap. “Not as juicy. And the texture this way is gonna be very coarse. Not, like, smooshed.” That coarseness creates more edges and facets to be Maillarded later.
After mincing the meat and fat separately, Güldal does the same to a red bell pepper. Then he methodically kneads the pepper, lamb belly, and suet together to create binding protein structures. “Another thing,” he says, after wordlessly kebapping for a while, “is that you don’t wanna use gloves to do this. Because then it tastes like gloves. I believe the flavor of your hand needs to go in the food.”
Güldal produces a speckled loaf of mince. Now it’s time to season: paprika, Turkish pepper flakes, and salt. He pulls out a sheet pan of lined-up skewers, specifying that they must be iron, not aluminum, and starts fleshing out the metal skeletons.
The meat football gradually disappears as Güldal applies it to the skewers, punctilious, his fingers tantamount in his arsenal to his big-ass knife. We simmer in the piano lick from “Ms. Jackson” on the aux as he shapes the mince. Per tradition, he’s giving the kebap a subtly scalloped pattern, for both Mailliard reaction and artisanal reasons. Meaty finger waves.
And that’s it. They’re ready to hit the charcoal. The raw skewers look kinda pixelated, since unrendered suet is so brittle, but it’ll liquefy into nutty, golden, umami-tinged tallow on the grill, like lamby compound butter. It’s the art of suspense. A delicious future promise.
When asked if doing this makes him feel like an ancient person from a thousand years ago, Güldal frowns. “No! I believe we should still do these things today, not just in ancient history. I actually think everything has gotten too modern, too easy. I think we’re losing the fun part.”
Güldal takes a beat to admire his handiwork, then nods solemnly. “This is the fun part.”
We had a problem today with one of the servers, it meant a bunch of services weren't working. Never found the actual problem, but something changed and the misbehaving server started working. Learned a lot about managed databases on Digital Ocean.
LibreLocal meetup in New Haven, Connecticut, United States [Planet GNU]
May 29, 2026 at 17:00 EST
LibreLocal meetup in Kyiv, Ukraine [Planet GNU]
May 2026
LibreLocal meetup in Shiraz, Iran [Planet GNU]
May 28, 2026 at 17:00 IRST
Speaking Freely: Shin Yang [Deeplinks]
*This interview has been edited for length and clarity.
David Greene: Shin, please introduce yourself to the Speaking Freely community.
Shin Yang: My name is Shin Yang. I am a queer writer with a legal background and experience in product management. I am the steward of Lezismore, an independent, self-hosted, open-source community for sexual minorities in Taiwan. For the past decade, I have focused on platform governance as infrastructure, with a particular emphasis on anonymity, minimal data collection, and behavior-based accountability, so that people can speak about intimacy and identity without fear of extraction or exposure. I am a community architect and builder, not an influencer. I’ve spent most of the past decade working anonymously building systems, designing governance protocols, and holding space for others to speak while keeping myself in the background.
DG: Great. And so let’s talk about how that work intersects with freedom of expression as a principle, and your own personal feelings about freedom of expression. And so with that in mind, let me just start with a basic question, what does freedom of expression mean to you?
SHIN: For me, free expression is about possibility, and possibility always contains both and even multiple ends, the beautiful ones and the brutal in equal measure. Maybe not that equal, but you cannot just speak about the beautiful or good things. I think it's not about pushing discomfort out of the room. If we refuse all discomfort, we end up in echo chambers, which is safe, predictable; but dead. What matters to me is the equipment and principles: Who carries through that discomfort, self-discipline, mutual support, and the infrastructure and governance that can let people grow over time. Keeps a workable gray space open: room to make mistakes, learn, repair, and keep speaking.
DG: How does that resonate with you personally? Why are you passionate about that?
SHIN: Around 2013 in Taiwan's context, when Facebook started to take over the digital ecosystem in Taiwan, many local independent bulletin boards (BBS) that had been formed for sexual minorities were shut down because they had no income from advertisements, and people were pushed into mainstream platforms—like Facebook, Instagram, Meta, whatever, Twitter now X—where sexual expression was usually reported or flagged, and where I watched sharp intra-community exclusionary voices saying “bisexual and trans people were not pure enough”, or that talking openly about sex would harm our image, or that it was inappropriate to children, or it would invite harassment. Those oppressions are even fiercer within the queer community itself, which is self-censoring in order to gain approval from mainstream society.
So, the community itself says that the best way to do it is don't talk about it. Never talk about it. Never mention a single thing about it. It was a wakeup call for me, because I think it's not right. And also, there's another more private story for me, it's a story I heard from our sexual minority community. I once heard about a butch student who was sexually assaulted by a group of men because she dated a beautiful classmate, a beautiful woman in the class.
And when I learned what happened to her, that story changed my focus. Because, you know, when people hear this kind of story, they always focus on punishing those men, punishing those criminals—but what matters for me most is building conditions where someone like her could someday still have a chance at intimacy on her own terms, and finally be free from fear. That's more important for me. I may never meet her, but I know who I am and what I'm here to build. I have been building an infrastructure –– not just “safe space” as a slogan, but an “ecospace” designed to make survival and growth possible. So that's why I believe that a well-governed space is what matters for communities now.
DG: Why is it so important for sexual minorities to have forums where they can communicate in that way? When it was just the bulletin boards, before social media, what worked really well and what didn’t work well?
SHIN: That’s a wonderful question. Okay, the bulletin boards I used before, the registration process doesn't require a lot of information. You just need email.
What I miss about bulletin boards is the sense of structure. You didn’t enter a personalized feed—you entered a place with visible rooms and topics. Even in the spaces you visited daily, you’d encounter views you didn’t like, and you had to live with that—and learn how to argue, or leave, or build something parallel. In some boards, moderators were community-chosen, which created a practical kind of participation—not perfect democracy, but civic practice.
You have to provide the information of which school you are in, because it's based on school. But it's not that difficult to use that. And also they have some kinds of logistics, like you log into different boards with different topics, and you can see that there are huge topics along with several small topics. So when you log into that, you can sense and feel the whole structure of that community. It's not a personal feed bombing you with everything you like. So you know, even in the board you’re most likely to visit every day, you will definitely encounter some speech you don't like, and you argue with them, you fight with them, or build something parallel, that's the civic foundation of democracy. You experience the everyday practice of civic democracy. People can vote for moderators or even recall them.
DG: You mean, the community can ask them to leave the bulletin boards?
SHIN: No, they don't actually leave the bulletin board. It's more that the moderator no longer has the right to perform administrative tasks, but they can still be part of the community, and ordinary users can vote in the election for this.
DG: Okay, and then what were the shortcomings of the bulletin boards?
SHIN: Yeah, it’s brutal. Really brutal. And I’ve seen people literally organize to push others out. I didn’t expect this to turn into story time, but I actually love this. So—back in Taiwan, we had this big BBS forum called PTT. There was a board called the ‘Sex’ board, where people could talk about sexual topics and share sexual health info. But around 2010, the space was dominated by mainstream straight cis men. And whenever a woman or a sexual minority posted anything, they often got harassed or attacked. So, women created another board inside the forum—basically a separate space—called ‘Feminine Sex.’ And from then on, the original Sex board and the Feminine Sex board were in conflict all the time. And honestly, if this happened today on Facebook, Threads, or X… we’d just block each other. Easy. Clean. Done.
But the problem is: when blocking becomes the default, we don’t really learn how to argue well, how to organize our reasons, or even how to sit with discomfort and understand why the other side thinks the way they do. We lose that practice—because it’s just so easy to delete people from our world now. I’m not saying blocking is always wrong. But there’s a trade-off.
DG: I get that. Then when Facebook and the other social media platforms that followed came along and the users migrated over to the commercial services, what was lost?
SHIN: What was lost? I think our behavior got shaped—personal branding became the default setting for joining an online community. If you don't do it, like me, you basically don't exist. Influence can be shaped by the number of social media followers; people define each other based on this. Choosing not to obey the logic of mainstream platforms means being unseen, and being unseen means having no influence.
And sure, personal branding can be useful—but I don’t believe it’s the only way to express yourself or connect with a community. The problem is, on mainstream platforms, the whole system is built for visibility. So clout becomes the game. Look at what they push: stories, reels, short-form visuals. And as a former product manager, I can tell you—this is not accidental. It’s designed. It’s designed around human nature: to avoid friction as much as possible. So they keep you scrolling, to make reacting effortless. One tap and you’ve sent a smiley face. Engagement becomes easier… but also cheaper.
And the scary part is, people start thinking that’s the whole internet. It’s not. But the more we get trained by these interfaces, the harder it becomes to even imagine other ways of building community. It is becoming more difficult for people to imagine that the "right" amount of friction can actually help us to grow, and coexist with the diversity.
DG: So did you find that there were certain things you couldn't talk about on Facebook or on the other social media platforms because they were sexual, because sexual speech was not as welcome as it was earlier?
SHIN: Yes, when I first started building my community, I knew nothing about technology. Like everyone else, I just created a fan page on Facebook, which was then flagged and deleted. This happened. I think it still happens to this day. At first, I was so angry about it. I felt it was unjust. But every time I wrote to Facebook, they just said that I had violated the user terms. At first I was furious. But I don’t stop at anger. I dig deeper. I thought, “Why do you say I violated the user terms?”
I read the terms, compared policies across platforms and applications, and realized the pattern: All of the terms of use forbid adult or erotic content in fine print. Because these are profit-driven systems optimized to minimize legal and business risk. So, I don’t frame it as “evil platforms.” I frame it as incentives. Once I understood this, I realized that we should not only protest and ask those big tech platforms to “give” us a voice –– that's a good approach, but it shouldn't be the only one. I believe we should build our own community. That's why I started researching open-source software and building my own self-hosted community.
DG: Please talk a little bit more about what you're building, and how what you're building is consistent with your view of free expression.
SHIN: Sure. It’s a long process but the reason why I use open-source software is, for a person knowing nothing about technology, I can come to the open-source community and ask questions about it. It’s more reliable than building it myself.
And the second example is about how I designed Lezismore’s registration and community access, mostly through trial and error.
We don’t require any real-name or ID verification. In fact, you can register with just an email. But instead of “verifying people,” we redesigned the "space".
Lezismore is built as a two-layer structure. The main website is searchable, but it looks almost… boring on purpose—advocacy articles, writers’ posts, slow content. The truly active community space is inside that main site, and the entry point is not something you casually discover through search. Most people learn how to get in through word of mouth. We also block search engines, bots, and crawlers from the community area. So from day one, we gave up visibility on purpose—we traded reach for resilience.
Then there’s the onboarding. New users go through an “apprenticeship” period. You can’t immediately post, comment, or DM people. You first have to read, observe, and understand how the community works. We don’t even tell you exactly how long it takes—you just have to be patient. In the fast-content era, people constantly complain that this is “annoying” or “hard to use.” And yes, it is friction indeed.
But that friction buys something valuable: a space that can stay anonymous, inclusive, and high-trust—without being instantly overwhelmed by harassment or bad-faith users. It also means we don’t need to depend on Big Tech’s third-party verification APIs. With relatively low technical cost, we’re using governance design—not data collection—to balance inclusion and protection.
And honestly, as a platform owner, I have to be real about what users “actually” need. If this was truly “just terrible UX,” the site wouldn’t survive in today’s hyper-competitive platform environment. But Lezismore has been running for over a decade, and we still have tens of thousands of people quietly reading and interacting every month. This is one of the biggest tradeoffs in my governance design. In an attention economy, choosing low visibility is a bold decision, and maintaining it has a real cost.
On top of that, we rely on human, context-based moderation. We use posts, replies, and Q&A threads to actively teach community norms—why diversity and conflict exist, how to handle risk, and how to protect yourself. Users also share practical safety tips and real interaction experiences with each other. There are many more small mechanisms built into the system, but that’s the core logic.
And there’s one more layer: the legal environment. In Taiwan, the legal climate around sex and speech can create chilling effects for smaller platforms. Platform owners can be criminally liable in certain scenarios. That’s exactly why governance design matters—it’s how we keep lawful expression possible without over-collecting data.
DG: Ah, so you need to be careful. I’m curious whether you’ve had any examples of offline repression. Do you have any experiences with censorship or feeling like you didn’t have your full freedom of expression in your offline experiences? Any experiences that might inform what an ideal online community might look like?
SHIN: Yes—actually, most of my earliest experiences with repression were offline, and they shaped how I later understood the internet as an escape route.
Back when I was a high school student, I was already involved in student movements and gender-related advocacy. One very concrete example was dress codes. The school restricted what female students could wear, and students organized to push for change. At one point we even had a vote—something like 98% of students supported revising the policy. But when the issue entered the “official” system, the administration simply ignored it. They bypassed procedure, dismissed the consensus, and used authority to shut it down completely.
That was my first clear lesson about repression: it’s not always someone telling you “you’re forbidden to speak.” Sometimes it’s a system designed so that even if students, women, or sexual minorities spend enormous effort building agreement, once our voices enter the institution, they can be treated as if they don’t exist.
That’s why, in the early 2010s, online space became my breakthrough. This was still the blog era, before social platforms fully standardized everything, and even before “share” mechanisms were built into everyday activism. I started experimenting with things like blog-based petitions, and a lot of students joined. The internet became a way to bypass institutional gatekeeping.
In college, I saw another layer. There was serious sexism from people in authority—military-style discipline officers, some teachers, and administrators. When gender-related controversies happened on campus, the media sometimes showed up and reported in ways that were harmful: exposing people, sensationalizing stories, and ignoring the realities of sexual minority students. Meanwhile, the administration would shut down student demands with authority, and at the same time use incentives and pressure behind the scenes, especially around housing or “benefits”—so some student representatives were afraid to speak honestly in meetings.
And this was before livestreaming was a normal tool. But even then, I was already using audio-based live channels to connect students across campuses. Online networks became a lifeline for young advocates, especially those of us who didn’t “fit” the institution and needed each other to survive.
I came from a literature background. I had zero technical training at the beginning. But I’ve always been the kind of person who loves trying new technology. And I was lucky, because I was born in that strange window when the internet was rapidly expanding, but not yet fully swallowed by Big Tech. So, I grew up in this tension between nostalgia and innovation, and I kept pushing, resisting, and experimenting. I’ve experienced both sides of speech: how beautiful freedom can be, and how terrifying it can become.
DG: Going back to Lezismore, I’m curious: When you ask people to observe before they post, what are you hoping they learn about the community before they more actively participate in it?
SHIN: I hope people understand that this is a community rather than a dating app focused on results. The community needs people to support and nurture each other. Some people see us as a dating app and expect a frictionless experience; naturally, they are disappointed. If you're only looking for a fast-food relationship, that's fine. Here, however, it is a community that offers more than just hooking up. The design focuses on words and a person’s behavioral history rather than just a photo. Dopamine bombing is not how we do things here.
We’ve also built a library of community safety notes, FAQs, and governance reminders over time. Some written by the team, some contributed by members. Not everyone reads them, and that’s fine. But the design makes it easier for people who want a slower, more intentional space to stay—and for people who want something frictionless to self-select out.
SHIN: I run the platform anonymously by design. People may know that there’s an admin called “Shin”, but I don’t associate a face or personal brand with the role because I don’t want the community to depend on my visibility for their trust.
We maintain a clear distinction between work and private life. Admin power is never a shortcut to social capital. In a sex-positive space, this boundary is a matter of ethics. The moment a founder’s identity becomes central, the space starts to orbit that person, and expectations, fan-service dynamics and power asymmetries creep in. Then speech becomes performance.
It also means I’m less “marketable” to attention-driven media—but that tradeoff protects the community’s integrity. Some media outlets only want a face and a persona. However, I accept this cost because I am trying to build a community that can thrive independently of an idol, where people relate to each other through behavior and shared norms, not proximity to the founder.
DG: It sounds like a lot of what you’re doing is about people being authentic on the site, not using personas or using it to create a personal platform for themselves for marketing purposes.
SHIN: Exactly, people can share links, but if a post is purely self-promotion with no contribution to the community, we don’t encourage this. I hope people here can respect the reciprocity.
DG: I want to shift a bit and talk about freedom of expression as a principle for a while. Do you think freedom of expression should be regulated by governments?
SHIN: Speech regulation is hard, because speech is freaking messy. And once you turn messy human speech into rules that scale, nuance gets flattened. Minority communities usually pay first, because large systems choose efficiency over lived reality.
I also don’t think the answer is “erase all conflict.” Some friction is the price of pluralism, and with good guidance and interface design, conflict can become a point of learning instead of a point of collapse. From a platform owner’s perspective, legal liability is real and often cruel. So if we expect platforms to be free, frictionless, allow everything we like, erase everything we dislike, and still amplify our visibility—then we’re really asking for magic. That’s why we need to talk seriously about alternatives and procedural safeguards, not just louder demands.
Age verification is a good example. I get that the goal is to protect minors. But identity-based age gates often turn into identity infrastructure. They chill lawful adult speech, concentrate gatekeeping power, and push everyone to hand over personal data just to access legal content. From my experience, there are other tools that can reduce harm with less damage—things like community design, visibility gating, and human, context-based moderation. Those approaches can protect people without building a personal-data checkpoint for everyone.
DG: You talked about minority voices, and minority speech. Are you concerned that any regulation will end up trying to silence minority speakers, or won’t benefit minority speakers. How are these speakers more vulnerable to speech regulations than others?
SHIN: Hmmm......a lot of minority speech is context-heavy. The same words can be support, education, or harassment depending on who says it and why. When regulation turns into broad categories, sexual health education, self-explore experiment sharing, trans healthcare discussions, or reclaimed language can be treated as “harmful” out of context (at both sides). So the risk isn’t only censorship, it’s misclassification at scale.
DG: Are there certain types of speech that don’t deserve the conversation. Some people might say that hate speech or speech that’s dehumanizing doesn’t deserve the conversation. Are there any categories of speech that you would say we shouldn’t consider, or do we get to talk about everything?
SHIN: Okay, I don't think the issue is about saying certain kinds of speech don't deserve to be discussed; the problem lies in the definition. As soon as we suggest that some speech doesn't merit discussion, some people will exploit this to silence their opponents. Whether it's right-wing, left-wing or anything else, if we say that we don't allow any kind of hate speech, the next thing someone will do is define your speech as hate speech. It's an endless war that draws us all into an eagerness to silence others and grab the mic, instead of creating more space for conversations and learning from each other.
We should go further than just regulation and create spaces where people can coexist in a grey area, endure some discomfort and engage with each other. I prefer this approach to trying to draw lines.
DG: So even well-intentioned restrictions might always be used against minority speakers?
SHIN: I wouldn’t say restriction is not good. There always has to be some kind of restriction, but people will always find a way to overcome or take advantage of it. So, the thing I believe is that regulation is regulation, but community should be an open-source archive. How we govern community, how we dialogue between each other when we disagree with each other…how can we create a space where those things can exist? I believe that those things should be open source. People always talk about open source like it’s just coding, but I believe governance should be open source too.
DG: So when you said before some restrictions are necessary but then we talk about open source governance, we’re talking about the same thing. When you say some restrictions are necessary, you’re not necessarily saying government restrictions, but that restrictions should come from somewhere else: that’s an open source governance model?
SHIN: Yes. And it should include restrictions in law, and how people deal with it, the way we deal with it. I’m not saying every rule or detection signal should be public. By “open-source governance,” I mean shareable governance playbooks: proportional steps, appeals templates, community norms, and design patterns that small communities can adapt. The goal is portability and adaptability of methods, not making systems easy to game. Because malice is always part of the environment.
DG: Is there anything else you want to say about your theory of open-source governance or what it means to you?
SHIN: I noticed there was a question in another interview about fostering transparency in social media, and how to appeal, and that the reason [for a takedown] should be more transparent. The interesting thing is that before our interview today I was joining a law and technology policy research group, and they’re reading a book called “Law and Technology: A Methodical Approach”. It's worth mentioning that it's very interesting. Apparently, scientists tend to place emphasis on complexity, which often trips up pragmatic reform efforts, so the recommendations often only call for greater transparency or participation.
I think this echoes what we were talking about before and the transparency thing. I heard this podcast in Taiwan about cybersecurity where they interview an outsourced ex-moderator from Meta and how the platform moderates speech. Because most of the information is confidential, the moderator can’t say too much, but she told us that every day Meta provided a whole set of lists with things they should ban, and every day it changes. Sometimes it even changes on an hourly basis. And they can never really put those fully transparent to the world. The reason they can’t do that is because those words are partially forbidding scams, because the scale is too big. So, when they show the transparency of how they ban things, the scammers will use this against them. Like, “now you’ve banned this word so I’ll just use another one.” It’s an endless war. So, I think transparency matters, but it shouldn’t be the only thing we think about, we should think about governance as well. And when we talk about governance, we shouldn’t just think about some high authority in government or a law just forcing the platform into something we like. We should go back and think about what we can do. We’ve got lots of open-source software now and we can literally build those things by ourselves. That’s what I’m trying to say.
DG: Okay, one last question. This is the last question we ask everybody. Who’s your free speech hero?
SHIN: This is the question I saw everyone answering, and I honestly struggled with it. Because I’m Taiwanese, and the names that often come up in U.S. free speech conversations aren’t the names I’m familiar with. I’m sorry about this.
DG: That’s okay, it doesn’t have to be a perfect answer.
SHIN: If you want a public figure from Taiwan, I think of the journalists and dissidents who pushed for press freedom during Taiwan’s democratization—Nylon (Tēnn Lâm-iông) is one name many Taiwanese recognize.
If I answer this as truthfully as I can, my hero is my family. My father taught me that integrity is not a slogan. It’s the ability to keep your ethics when it costs you something. My mother is the opposite kind of teacher: she’s relentless in a practical way: she doesn’t easily back down, and she keeps finding room to move even when the room is small. Put together, that’s what free expression means to me. It’s not “I can say anything.” It's about whether you can continue to think independently and live with integrity through layers of fear, pressure, temptation and coercion, while still moving forward and creating more possibilities for others.
Why Workers at One of Seattle’s Hottest Restaurants Went on Strike [The Stranger]
Court documents show that behind the scenes, Sophon and chef Karuna Long struggled financially for years, resulting in bounced paychecks, late payments to vendors, unpaid rent, and lawsuits. by Harry Cheadle
On February 10, Sophon—one of Seattle’s hottest, hippest restaurants—announced on its Instagram stories that it would be canceling its dinner service that night. It stayed closed through Valentine’s Day weekend, one of the industry’s busiest stretches, because of financial difficulties and tensions between Sophon’s staff and owner, Karuna Long, that were spilling into public for the first time.
Employees were refusing to come to work because they hadn’t been paid. Long put up, and then deleted, an Instagram post admitting he owed money to staff and vendors. "I have no idea what I'm doing and cannot seem to figure what's up and what's down," he wrote. Days later, in a series of Instagram posts, general manager Moni Mitchell announced that the staff had resigned and accused Long of “documented financial mismanagement.”
This is a shocking turn of events for anyone who knows Sophon’s reputation. One of the only Khmer restaurants in Seattle, it is the kind of place that gets included on every “best of” list, renowned for its Cambodian-influenced cocktails and dedication to uplifting Khmer culture. But court documents, and interviews with Long and six of his former employees, show that behind the scenes, both Sophon and Long’s nearby, now closed bar Oliver’s Twist struggled financially for years, resulting in bounced paychecks, late payments to vendors, unpaid rent, and lawsuits. The former employees quoted in this article all asked to remain anonymous because of worries about professional repercussions.
Before Sophon, Long made a name for himself in the bar scene with Oliver’s Twist, a Phinney Ridge bar that he bought in 2017. During the COVID pandemic, he experimented with serving food influenced by his Khmer heritage. When that food was a hit, he announced Sophon, his dream project, which has been a pillar of the Seattle dining scene since it opened in 2024.
Long’s compelling vision for a restaurant drew the exceptional people to staff it, and soon his vision became a reality. He struck many of them initially as charismatic, funny, and progressive, former staff said. “He came off very kind and warm,” says one former employee. “A lot of us were really excited about Sophon’s story.”
But Long also had a way of “sugarcoating” things, as one former employee put it. Multiple employees say that he would often make excuses for missing scheduled meetings or why payments were late or why the refrigerators went out.
They were picking up on a pattern that Long himself was aware of. In an email to The Stranger, Long said that he’s dealt with “a personal internal battle for 30 years having to do with my clinical depression and ideations of suicide. When I’m overwhelmed, I unfortunately tuck my head in the sand and have avoided issues.”
Long’s financial troubles started before Sophon. In 2021, Long brought in two business partners, Joel Robinson and Waylon Puckett, who invested tens of thousands of dollars into the newly reopened Oliver’s Twist and the opening of Sophon.
Last year, Robinson and Puckett sued Long for breach of contract and fraud. They allege that Long forged Robinson’s signature on contracts with restaurant vendors, failed to contribute promised money to the business (where Long was the majority owner), and used the business bank account to pay for his personal life, which, the suit alleges, “included withdrawals to pay for online gambling as well as paying his personal utilities.”
Long says he wasn’t taking any salary when Sophon opened and was in the habit of using Oliver’s Twist money to pay his expenses when he owned the bar by himself. He says he “failed to remember that I now have partners, therefore, any cost of living/personal utilities should go through proper processes.” Long also admitted to forging Robinson’s signature on contracts with vendors, however, writing in an email that “I made a lapse in judgment in doing so because my partners were unavailable.” But he denies lying to his partners or not contributing funds to the partnership. (Robinson and Puckett declined to comment on the contents of the suit.)
The suit also claims Long hid his debts from his partners. Attached to the lawsuit is a 2024 letter from a debt collection agency saying that the business owed $1.1 million as a result of an unpaid $879,000 COVID Economic Injury Disaster Loan that had accrued interest and fees. Among the other debts incurred by the business was the approximately $30,000 it owed to a financial services company after selling a portion of its future receipts; that company sued Oliver’s Twist for missed payments and won the case in 2023. In May 2024, according to the lawsuit, the three partners met and agreed that Oliver’s Twist should enter Chapter 11 bankruptcy, but it is unclear if that ever happened. Long declined to comment on the bankruptcy.
Robinson and Puckett attempted to settle the case through arbitration, according to court records, but are now seeking a default judgement against Long because they haven’t been able to schedule an arbitration sessions, the records show. Long declined to comment about the current status of the lawsuit or whether he is being represented by an attorney.
Oliver’s Twist had also fallen behind on its rent. By May 2024, the bar owed its landlord over $120,000, according to court records, and after Long renewed the lease he missed more payments. In December, the landlord initiated eviction proceedings against Oliver’s Twist. By then, the bar had been closed for two months.
According to Long, Oliver’s Twist closed because “business was too slow and rent was too high.” (He also characterized the closure as temporary in an interview with the Seattle Times, saying the bar was “on its way to closing” permanently.)
Former employees say the bar wasn’t paying vendors on time. More than one say that it went through stretches of not serving any food beyond popcorn, which they worried was against Seattle law.
One bartender says that after multiple missed paychecks, the Oliver’s Twist team began to leave until he was the only one left. He went over a month at a time without getting any pay himself, he says. “It ended up being kind of a social experiment for myself, because I had nothing better to do, to see what it's like to go work in the industry as a bartender without getting any compensation,” he says. “Because no more candles were being delivered, I was actually taking up candlemaking as a hobby and recycling the paraffin wax and making more candles. And I was actually having a pretty good time by myself.”
Long eventually paid him the wages he was owed, he says. Former employees say, and Long admits, that there were two cooks who had not been paid for their work as of February.
Despite Sophon’s high-profile success, it had similar problems.
In the spring of 2025, five former employees say, the restaurant switched from a direct deposit system to distributing checks every pay period. But workers soon began complaining their checks were bouncing or being placed on hold by their banks, according to screenshots of text messages and photos seen by The Stranger, and the complaints intensified into the summer.
“There was an extended period of time where by the time another two week pay period came to an end, multiple employees were still waiting for their previous paycheck to be deposited, or waiting for the hold placed on them to expire,” said one employee in a statement to The Stranger, adding that by August, workers were demanding cashier’s checks because they assumed regular checks wouldn’t clear. (Long says that the cashier's checks were costing him $8 apiece.) Former employees also said that Long was slow to repair broken fridges—including a CO2 leak in the keg cooler, two employees say—stopped paying for the city to pick up recycling, and that W-2 tax forms for the 2024 year didn’t reflect their correct hours. In one case, an employee emailed Long to say that she only made a third of the income that was listed on the W-2.
Mitchell, the general manager, has accused Long on Instagram of allowing employees’ health insurance coverage to lapse, even though they continued to have premiums taken out of their paychecks. In one instance, according to screenshots seen by The Stranger, an employee found out about the lapse from a letter from their insurance company, after they'd already sought medical care.
Tensions came to a head when Mitchell went on a trip to Cambodia in January, leaving it up to Long to process payroll. Two staffers say they did not get paid but worked the first weekend of February anyway; one former employee says that Long told them he wouldn’t have the money to pay them unless the restaurant re-opened. “At this point, we've been through so many things with him,” one employee says. “We're not feeling like we're going to get paid, and it's the last straw, and the communication is really bad.”
On February 10 and 11, Long decided to close Sophon, this employee says. He also told the staff that there was a hold on the business account, former employees say. When some employees tried to sign up for unemployment, they discovered that they couldn’t, because their hours had not been properly reported to the state. (Long says this resulted from a “lapse in taking care of my tasks accordingly.”)
In the midst of all of that, most of the staff went on “strike,” as they put it, demanding Long fix their paperwork so they could collect unemployment and pay employees what they were owed, including the two former cooks at Oliver’s Twist.
Long and his staff met on February 17, and he handed out about $20,000 in cash (so Long could avoid cashier’s checks fees). Long says that he has updated the paperwork with the Washington State Employment Security Department and that former employees should be able to collect unemployment. But with the cooks unpaid and Long not communicating with the employees to their satisfaction, most of the staff resigned February 20. “As far as we are concerned, the employment relationship is severed due to his breach of contract and labor laws,” Mitchell wrote in an email.
Long says that he is working on paying the Oliver’s Twist employees. He reopened Sophon last Tuesday with mostly new hires along with some employees who did not go on strike, he says. Mitchell describes the current staff as a “skeleton crew,” writing in an email that “the entire original team that built the restaurant’s reputation has walked away.”
Those who quit may not miss the chaos, but many will miss one another.
“We supported each other through a lot of hard, personal stuff,” says a former employee who began working at Sophon not long after it opened. “That’s a piece of it—this community and these beautiful relationships that I'm walking away with, which feels like the silver lining. And I think the other piece is a lot of sadness and a lot of anger and grief. I feel like we had something really special. This restaurant could have been perfect.”
Permanent Records [The Stranger]
In 1984, American science fiction writer William Gibson defined “cyberspace” (a term he coined) as “a consensual hallucination experienced daily by billions of legitimate operators” in the near-future world of his novel, Neuromancer, where human consciousness drifts through a blinding data-world of corporate geometries.
More than three decades later, the English documentarian Adam Curtis traced how that hallucination became reality in his BBC documentary HyperNormalisation: “Over the past 40 years, politicians, financiers, and technological utopians—rather than face up to the real complexities of the world—retreated. Instead, they constructed a simpler version of the world in order to hang onto power, and as this fake world grew, all of us went along with it, because the simplicity was reassuring.”
Today, this “simpler version of the world” fits into our pockets. The average American now spends around five hours per day—about 2.5 months per year—on their smartphone. Most artists now depend on social media for visibility, and a small handful of tech companies now determine how culture is discovered and monetized. Whether you experience this moment as a dystopian technocratic existence, an interconnected digital wonderland, or some incredibly boring third thing, technology doesn’t just permeate most every facet of life, it intercepts substantial chunks of the day, warps tastes, and short-circuits human interaction.
It’s true that within many artistic fields, digital tools have made an extraordinary amount of art possible and accessible, but there is also the reality that the hyper-integration of technology has left the door open too wide for manipulation by powerful corporations, and has encouraged isolation between artists and audiences.
“Take Spotify, for example,” says Aaron C. Schroeder, owner and recording engineer of Pierced Ears Recording Co.—a tiny yet wondrous basement studio in the Ballard neighborhood. “They bury musicians that don’t pay them money to get promotions on playlists,” he says, referring to the streaming service’s forcing of lower royalty rates on artists to be included on “Discovery” playlists, a practice that bears striking resemblance to the radio “payola” schemes that were outlawed by Congress in 1960. “I just don’t like having someone else in control. And then how do you get people to hear you in a digital space? Well, now you have to promote in a digital space, so now we’re stuck on social media constantly. A false reality of a sort, or a second reality. And I’m analog.”
On a recent Sunday morning, Schroeder invited me to his studio to show me the workings of his Presto 8N vinyl lathe, an original from the 1940s. It “cuts” records in real time, a process in which a Van Eps Duotone cutter head—a needle-like device on an adjustable arm—carves sound vibrations into a soft vinyl disc (or record blank) in the form of the continuous spiral grooves, which your home record player needle then traces back into sound.
“You can really record any sound onto the record,” he explains. We discuss his ideas for hosting pop-ups around town where anyone can record anything they want on the spot and take home the record, and his ideas for bespoke groove patterns, like recording the record from the center outward, or in sequential spirals.
Schroeder uses a mix of digital and analog recording technologies, and maintains a website for his studio and business-only Instagram and TikTok accounts for minimalist marketing (“It’s like Backpage”), but he talks of tech devices and programs as though they are only one kind of tool among many, the amount of importance we have placed on them being unfortunate. The idea that a platform could change their business model or simply close shop if profits dried up, essentially deleting the most visible evidence of musicians’ artistic output, is also a possibility that haunts Schroeder. If that happens, “who’s to say you ever existed?”
Kelly Froh, executive director of Short Run Comix festival-turned-nonprofit, is among the many people I spoke with who think physical media—things like handmade books, visual art, hand-drawn comics and zines, vinyl records and cassette tapes—and the communities they spawn provide a necessary counterbalance to tech domination in the arts. “Why do any of these smaller festivals exist if we can just buy whatever we want online? It’s so you can show up, and you can actually look into the eyes of the artist, and talk to the artist, to the person that made these books.”
Froh is a firm believer in real-life settings where you can meet the artist at the point of purchase, and likely come away with personal artist recommendations, a newfound knowledge and appreciation for the time and techniques that go into the art form, and make any number of person-to-person connections—all weaknesses of the digital marketplace.
The online environment also gives the false sense of infinite choices and egalitarian platforming, when in reality, online algorithms (not to mention governments) suppress many artists and voices if you don’t follow their guidelines, both stated and unstated, before the general public even has a chance to click on them.
With physical media, however, “there’s no need to censor yourself,” Froh says. “If you were to promote something on the internet, you would have to block out certain words so the post doesn’t get buried. I don’t want to think about any of that shit. Just do your own thing.”
Froh also sees organizational potential in physical formats for off-the-grid information sharing in times of political or social turmoil: “Zines are untrackable in that way, and they’re not gonna be blocked by some evil algorithm.” She continues, “For people who feel helpless as our democracy is crumbling, guess what? They’re screen printing posters, they’re making pins and buttons, they’re making zines and fliers, posters on poles.” Indeed, at a recent anti-ICE rally on Capitol Hill, organizers were handing out keychain whistles packaged with a zine that outlined the whistle’s uses and whom to contact if officers are spotted; on a recent trip to Hex Enduction Records & Books in Lake City, I left with a tour guide zine for safe small-town queer hangouts, and leafed through an impressive hand-bound book about anarchism and “settler socialism.”
James Ballinger, who ran the influential heavy-rock-focused Seattle music zine The Seattle Passive Aggressive during its decade-long run in the 2010s, agrees that physical media is an important part of the social ecosystem. “It keeps things true, and it keeps things away from [that] kind of outside influence, or a fear of saying things that’ll make people upset, or [come off as too] political. I print it, I can’t go back and change it, or delete it. I can’t go back and edit that typo, it’s out there. Technology’s weird, and social media has made people weird as far as what they feel they’re free to say. So I think zine culture is important, because you can say what you need to say, get it out there.” Ballinger also takes issue with the thoughtlessness that social media rewards through ambiguous reposts and bandwagon “likes.” Conversely, physical media “allows you to not just say what you want to say because you’re passionate about it; you have to collect your thoughts and say things intelligently.”
Across town at Concuss Creations screen printing, local musician and artist Rob Castro prints band merch on the same press as protest swag. “Since I print my own shirts out of my own shop, I can basically print anything I dream of. If I want to flex a run of protest tees before a march, I can do that.”
Kay Redden, founder and operator of Seattle cassette-tape label Den Tapes, likens the choice to interact with physical media to shopping local, given the increasingly competitive attention economy of today: “It’s kind of like voting with your dollar, like when you’re opting to support a local business rather than go to Home Depot or whatever.” In this way, devoting time to the making or consuming of physical art can be seen as a net positive in the war over our time and data points—each non-technological activity we participate in has become an act of micro-revolution.
Back in the Pierced Ears studio, Schroeder is walking me through the process of folding a zine. Using scissors, he cuts a slit across the middle of a halved 8”x11” piece of paper, then accordions it into eighths. The result is a miniature flipbook complete with quirky yet informative diagrams showing the step-by-step process of recording a record on his equipment. He puts one in the sleeve of each record he cuts.
“It is a problem in every aspect of Western civilization,” he says. “We use tools to try and make things we consider to be beautiful, but I think we have corrupted the concept of beauty. The natural world is what’s actually beautiful, a manicured lawn, not so much… I’m a fan of music with edges.” I suggest that an ideal metaphor may be a Zen garden, where humans manipulate natural elements with tools, but the tools aren’t pesticides that are supposed to kill any imperfections.
After thinking for a moment, he answers, “We’re just doing an odd beautification ritual. I don’t think everything looking the same is the correct answer.”
The “Data Center Rebellion” Is Here [Radar]
| This post first appeared on Ben Lorica’s Gradient Flow Substack newsletter and is being republished here with the author’s permission. |
Even the most ardent cheerleaders for artificial intelligence now quietly concede we are navigating a massive AI bubble. The numbers are stark: Hyperscalers are deploying roughly $400 billion annually into data centers and specialized chips while AI-related revenue hovers around $20 billion—a 20-to-1 capital-to-revenue ratio that stands out even in infrastructure cycles historically characterized by front-loaded spending. To justify this deployment on conventional investment metrics, the industry would need a step change in monetization over a short window to make the numbers work.
While venture capitalists and tech executives debate the “mismatch” between compute and monetization, a more tangible crisis is unfolding far from Silicon Valley. A growing grassroots opposition to AI data centers remains largely below the radar here in San Francisco. I travel to Sioux Falls, South Dakota, a few times a year to visit my in-laws. It’s not a region known for being antibusiness. Yet even there, a “data center rebellion” has been brewing. Even though the recent attempt to overturn a rezoning ordinance did not succeed, the level of community pushback in the heart of the Midwest signals that these projects no longer enjoy a guaranteed green light.
This resistance is not merely reflexive NIMBYism. It represents a sophisticated multifront challenge to the physical infrastructure AI requires. For leadership teams planning for the future, this means “compute availability” is no longer just a procurement question. It is now tied to local politics, grid stability, water management, and city approval processes. In the course of trying to understand the growing opposition to AI data centers, I’ve been examining the specific drivers behind this opposition and why the assumption of limitless infrastructure growth is colliding with hard constraints.
AI data centers function as grid-scale industrial loads. Individual projects now request 100+ megawatts, and some proposals reach into the gigawatt range. One proposed Michigan facility, for example, would consume 1.4 gigawatts, nearly exhausting the region’s remaining 1.5 gigawatts of headroom and roughly matching the electricity needs of about a million homes. This happens because AI hardware is incredibly dense and uses a massive amount of electricity. It also runs constantly. Since AI work doesn’t have “off” hours, power companies can’t rely on the usual quiet periods they use to balance the rest of the grid.
The politics come down to who pays the bill. Residents in many areas have seen their home utility rates jump by 25% or 30% after big data centers moved in, even though they were promised rates wouldn’t change. People are afraid they will end up paying for the power company’s new equipment. This happens when a utility builds massive substations just for one company, but the cost ends up being shared by everyone. When you add in state and local tax breaks, it gets even worse. Communities deal with all the downsides of the project, while the financial benefits are eaten away by tax breaks and credits.
The result is a rare bipartisan alignment around a simple demand: Hyperscalers should pay their full cost of service. Notably, Microsoft has moved in that direction publicly, committing to cover grid-upgrade costs and pursue rate structures intended to insulate residential customers—an implicit admission that the old incentive playbook has become a political liability (and, in some places, an electoral one).
High-density AI compute generates immense heat, requiring cooling systems that can consume millions of gallons of water daily. In desert municipalities like Chandler and Tucson, Arizona, this creates direct competition with agricultural irrigation and residential drinking supplies. Proposed facilities may withdraw hundreds of millions of gallons annually from stressed aquifers or municipal systems, raising fears that industrial users will deplete wells serving farms and homes. Data center developers frequently respond with technical solutions like dry cooling and closed-loop designs. However, communities have learned the trade-off: Dry cooling shifts the burden to electricity, and closed-loop systems still lose water to the atmosphere and require constant refills. The practical outcome is that cooling architecture is now a first-order constraint. In Tucson, a project known locally as “Project Blue” faced enough pushback over water rights that the developer had to revisit the cooling approach midstream.
Beyond resource consumption, these facilities create a significant noise problem. Industrial-scale cooling fans and backup diesel generators create a “constant hum” that represents daily intrusion into previously quiet neighborhoods. In Florida, residents near a proposed facility serving 2,500 families and an elementary school cite sleep disruption and health risks as primary objections, elevating the issue from nuisance to harm. The noise also hits farms hard. In Wisconsin, residents reported that the low-frequency hum makes livestock, particularly horses, nervous and skittish. This disrupts farm life in a way that standard commercial development just doesn’t. This is why municipalities are tightening requirements: acoustic modeling, enforceable decibel limits at property lines, substantial setbacks (sometimes on the order of 200 feet), and berms that are no longer “nice-to-have” concessions but baseline conditions for approval.
(enlarge)
Communities are questioning whether the small number of jobs created is worth the local impact. Developers highlight billion-dollar capital investments and construction employment spikes, but residents focus on steady-state reality: AI data centers employ far fewer permanent workers per square foot than manufacturing facilities of comparable scale. Chandler, Arizona, officials noted that existing facilities employ fewer than 100 people despite massive physical footprints. Wisconsin residents contrast promised “innovation campuses” with operational facilities requiring only dozens to low hundreds of permanent staff—mostly specialized technicians—making the “job creation” pitch ring hollow. When a data center replaces farmland or light manufacturing, communities weigh not just direct employment but opportunity cost: lost agricultural jobs, foregone retail development, and mixed-use projects that might generate broader economic activity.
Opposition scales faster than infrastructure: One local win becomes a national template for blocking the next project.
The secretive way these deals are made is often what fuels the most anger. A recurring pattern is what some call the “sleeping giant” dynamic: Residents learn late that officials and developers have been negotiating for months, often under NDAs, sometimes through shell entities and codenames. In Wisconsin, Microsoft’s “Project Nova” became a symbol of this approach; in Minnesota’s Hermantown, a year of undisclosed discussions triggered similar backlash. In Florida, opponents were furious when a major project was tucked into a consent agenda. Since these agendas are meant for routine business, it felt like a deliberate attempt to bypass public debate. Trust vanishes when people believe advisors have a conflict of interest, like a consultant who seems to be helping both the municipality and the developer. After that happens, technical claims are treated as nothing more than a sales pitch. You won’t get people back on board until you provide neutral analysis and commitments that can actually be enforced.
What started as isolated neighborhood friction has professionalized into a coordinated national movement. Opposition groups now share legal playbooks and technical templates across state lines, allowing residents in “frontier” states like South Dakota or Michigan to mobilize with the sophistication of seasoned activists. The financial stakes are real: Between April and June 2025 alone, approximately $98 billion in proposed projects were blocked or delayed, according to Data Center Watch. This is no longer just a zoning headache. It’s a political landmine. In Arizona and Georgia, bipartisan coalitions have already ousted officials over data center approvals, signaling to local boards that greenlighting a hyperscale facility without deep community buy-in can be a career-ending move.
The US has the chips, but China has centralized command over power and infrastructure.
The opposition is also finding an unlikely ally in the energy markets. While the industry narrative is one of “limitless demand,” the actual market prices for long-term power and natural gas aren’t spiking but are actually staying remarkably flat. There is a massive disconnect between the hype and the math. Utilities are currently racing to build nearly double the capacity that even the most optimistic analysts project for 2030. This suggests we may be overbuilding “ghost infrastructure.” We are asking local communities to sacrifice their land and grid stability for a gold rush that the markets themselves don’t fully believe in.
This “data center rebellion” creates a strategic bottleneck that no amount of venture capital can easily bypass. While the US maintains a clear lead in high-end chips, we are hitting a wall on how we manage the mundane essentials like electricity and water. In the geopolitical race, the US has the chips, but China has the centralized command over infrastructure. Our democratic model requires transparency and public buy-in to function. If US companies keep relying on secret deals to push through expensive, overbuilt infrastructure, they risk a total collapse of community trust.
The Big Idea: Lauren C. Teffeau [Whatever]

Futuristic fiction doesn’t always have to be dystopian, and in fact author Lauren C. Teffau wanted to show readers a more hopeful narrative where people work together for the betterment of the planet and a goal of reaching a brighter future. Follow along in her Big Idea for Accelerated Growth Environment and see what a more optimistic future could look like.
LAUREN C. TEFFEAU:
We are living at the intersection of competing futures. Ones we thought were inevitable and others being forced down our throats by billionaires, technocrats, and foreign interests that are counter to our own. This fight over our collective future is happening while the climate crisis rages on, institutions are tested, and the informationsphere weaponized. It’s no longer a question of how to avoid the worst outcomes, but how bad those outcomes will be.
But I firmly believe optimistic stories about the future are our way out of the doomloop. Not because they’ll accurately predict what is to come, but because they give us something to work toward, together. To that end, I wanted to explore what an international response to the climate crisis would look like in my latest book, the eco-thriller Accelerated Growth Environment, and introduce a generation of readers to one possible future full of cooperation, resilience, and competency porn.
Such a goal is not completely out there. Once upon a time, the world came together to reduce ozone emissions in response to the discovery chlorofluorocarbons were punching a hole in the atmosphere. The effort was so successful, the ozone layer is on track to completely regenerate, according to Wikipedia, by 2045. That’s amazing, even moreso considering that level of international coordination seems impossible today. But maybe, just maybe, it’s something we can work toward in the years to come.
So imagine things change, and the political will is finally ascendant to tackle the climate crisis. Enter the Climasphere, a groundbreaking megastructure that can support nearly every biome on Earth and grow plants essential to rewilding efforts across the world, signifying a new era of climate cooperation. It’s also the high-tech setting for Accelerated Growth Environment. Principal Scientist Dr. Jorna Beckham just wants to focus on her research while her horticulture techs are on break following the grueling inaugural harvest.
She manages the habitat with the help of her trusty robot sidekick Savvy while Commander Kaysar sees to everything else. But when an explosion rocks the Climasphere, Jorna is the commander’s number one suspect. Her family belongs to a technology-adverse religion that believes the Climasphere’s genetically-altered plants are a rejection of God’s gifts to humanity. Jorna must clear her name if she wants to keep her dream job and any possibility of a future with the commander.
I’m honored Accelerated Growth Environment is the first acquisition and release from Shiraki Press, a new publisher specializing in hopepunk stories for a brighter future. Keep an eye out for more titles from them in the months to come.
And never forget we are capable of great things—we need to be. No matter all that has happened this year as we grapple with betrayals of the past and the predatory power grabs of the present, we must remember all the amazing things we can do in preparation of the future we will build together.
Accelerated Growth Environment: Amazon|Barnes & Noble|Bookshop|Shiraki Press
Aha, I found a counterexample to the documentation that says that QueryPerformanceCounter never fails [The Old New Thing]
In the documentation that describes the high-resolution timestamps, there is a question-and-answer section.
Under what circumstances does QueryPerformanceFrequency return FALSE, or QueryPerformanceCounter return zero?
This won’t occur on any system that runs Windows XP or later.
People on Stack Overflow have noted, “Nuh-uh! I can get it to fail even on Windows XP and later!”
The function can fail with error code
ERROR_NOACCESS(Invalid access to memory location) if the variable is not double-word (8-byte) aligned.
So who’s right?
The documentation assumes that you are passing valid parameters.
Specifically, the pointer parameter is a valid pointer to a
writable LARGE_INTEGER structure. And that means that
it’s not a null pointer, it’s not a pointer to
unallocated memory, it’s not a pointer to read-only memory,
it’s not a pointer to memory that is freed while the function
is executing, you don’t write to the memory while
QueryPerformanceCounter is running, and
it’s a pointer to properly aligned LARGE_INTEGER
structure. (There are probably other ways the parameter can be
invalid; those are just the ones I could think of off the top of my
head.)
The LARGE_INTEGER structure as
LONGLONG alignment, which on Windows means 8-byte
alignment, because the
default structure packing is /Zp8. Therefore, your
output LARGE_INTEGER was not valid. (Indeed, in the
example given, it’s not even a
LARGE_INTEGER!)
If you pass invalid parameters, then you have broken the basic ground rules for programming, and the results will be unpredictable. The function might return failure, it might return success but produce garbage results, it might crash your process, it might merely corrupt your process in a way that causes it to crash 10 minutes later. Everything is on the table (as long as it doesn’t cross a security boundary).
The way they got it to fail was by passing invalid parameters. Clearly the function can’t succeed if you don’t give a valid place to put the answer.
But just to forestall the “Nuh uh”-ers, I made an
update to the documentation for
QueryPerformanceCounter:
On systems that run Windows XP or later, the function will always succeed when given valid parameters and will thus never return zero.
The post Aha, I found a counterexample to the documentation that says that <CODE>QueryPerformanceCounter</CODE> never fails appeared first on The Old New Thing.
Slog AM: Remembering Lilli Moreno, US Military Is Bloated With Overpriced Weapons, Beacon Hill Station’s Pigeon Has an Instagram Account [The Stranger]
The Stranger's Morning News Roundup by Charles Mudede
Lilli Moreno, I did not know it was you who was killed by a car on February 16, 2026, until a friend showed me a photograph at a bar not far from where you died. I instantly saw the Lilli who once asked me to explain the actual meaning of Schrodinger’s cat. A few months later, I also saw you operating a table at the late night art market at Bad Bar. We were, in time, close to the final hour of August 11, 2024. I bought one of your small metal matchboxes (this one decorated with a picture of a flower) for $11. We talked a little, we laughed a little. And later I was in the psychedelic bar watching one of my favorite scenes in Star Wars on a very flat TV screen above the bottles of spirits: the setting of the two suns on the parched planet Tatooine. I will still have your matchbox. It will live among my books.
The world has not changed one bit since you left, Lilli Moreno. In fact, it’s getting worse.
We may be gutting our urban forestry program but fear not, Washington State is still funding the construction of new urban highways.
www.khq.com/legislature/...
[image or embed]
Today will be cool (low of 42) and rainy. It’s the kind of day that’s made for the charmingly melancholy jazz of Bill Evans. At this point, however, we can forget about any kind of snow falling upon the living and the dead. We can also expect, when summer temperatures arrive, which might be as soon as next month, an explosion of rats and bugs because winter proved to be hospitable. Indeed, I can remember when Seattle winters were so cold that rats would climb into car engines for warmth or shelter only to freeze to death. Those days are more and more receding into the past in our warming world.
Dem superstar Rep. Jasmine Crockett lost Texas’ Democratic Senate primary to populist and God-loving Rep. James Talarico (and it wasn’t even close—53% to 46%). The race between Attorney General Ken Paxton and incumbent Sen. John Cornyn was close and, as a consequence, is headed to a runoff election on May 26. Expect the battle between these hyenas to get very, very ugly.
Greedy defense contractors have sold the US government very expensive and clumsy interceptor weapon systems. The whole dismal story is in a report posted this week by Bloomberg: “Iran's Missile Math: $20,000 Drones Take on $4 Million Patriots.” The drones are called Shahed-136, which are basically “small, rudimentary cruise missiles.” It’s estimated that Iran has about 80,000 of these weapons, and can manufacture about 500 of them a day. Also, Shaheds can be transported by a conventional truck to any launch site in the country. The US, on other hand, uses cumbersome missiles that cost millions to hit just one of these cheap-ass drones. The fear on the US side is that, because our defence contractors can produce only 600 or so of these expensive weapons a year, their stock will soon be depleted by the constant swarm of inexpensive drones, which have the power to destroy buildings or badly damage military bases.
Qatar's Patriot interceptor missiles will last four days at the current rate of use, Bloomberg reported. Qatar has requested help countering drones, which have proven a greater threat than ballistic missiles, while the UAE has requested medium-range air defense assistance. #MiddleEast
— NOELREPORTS (@noelreports.com) March 2, 2026 at 9:58 AM
[image or embed]
The US has known about these Iranian drones for years but failed to make needed cost-effective adjustments because, arguably, there’s no money in making and selling cheap stuff to US taxpayers. Defense contractors want the US to buy state-of-the-art shit, even if they are impractical and ineffective.
Realizing the great disadvantage the Iranian drones present, the US is now making an exact copy of the Shahed, called LUCAS, in Arizona at $35,000 a pop. The factory began operation last year; meaning, the US had until then no idea how to make cheap missiles. They had to steal the technology from the Iranians. And what can we conclude from this fiasco? The US’s military certainly has the biggest budget in the world by far ($1 trillion annually), but it might be filled with expensive junk. China, on the other hand, has the second-largest budget ($250 billion annually), but that money might purchase or manufacture weapons at reasonable or state-controlled prices. If this is the case, then China has, due to a lack of super-greedy defense contractors, the superior arsenal.
If the Iranian drones do the trick, if they hit regional American military bases and oil production sites on the regular, then the US consumer can kiss goodbye to cheap oil forever. It will take years to repair the damaged infrastructure, busted bases, and restore confidence in the US’s ability to protect Gulf assets.
I read somewhere that some ants send their elderly to fight wars. Apparently, the young are too precious to waste on deadly conflicts. With humans, the old tend to start wars and send their youth to fight them. It seems we humans have it backwards. Those who declare war must be handed the guns and armour (or an exoskeleton developed by Elon Musk) and head straight to the battlefield. That includes Captain Bone Spurs.
Who knew? The pigeon that hangs out in Beacon Hill Station actually has an Instagram account. Presently, the bird only has 27 followers. All humans. I have seen this pigeon several times while waiting for a train in one of America’s deepest subways. The bird walks around with an air of total calm. No predators down here. No rain. Some food. And generally nice people going this way and that.
View this post on Instagram
Let’s end AM with a compilation that was released 30 years ago and launched Seattle’s post-Sir Mix-a-Lot hiphop, Tribal Music’s Do the Math.
PSPP 2.1.0 has been released. [Planet GNU]
I'm very pleased to announce the release of a new version of GNU
PSPP. PSPP is a program for statistical analysis of sampled
data. It is a free replacement for the proprietary program
SPSS.
Changes from 2.0.1 to 2.1.0:
Please send PSPP bug reports to bug-gnu-pspp@gnu.org.
Free/libre software and freedom in the digital society with Dr. Richard M. Stallman [Planet GNU]
March 6, 2026 at 17:00 CET
Free/libre software and freedom, touching on how they relate to machine learning with Dr. Richard M. Stallman [Planet GNU]
March 11, 2026 at 17:30 CET
Jonathan Dowland: More lava lamps [Planet Debian]

Mathmos had a sale on spare Lava lamp bottles around Christmas, so I bought a couple of new-to-me colour combinations.
The lamp I have came with orange wax in purple liquid, which gives a strong red glow in a dark room. I bought blue wax in purple liquid, which I think looks fantastic and works really nicely with my Rob Sheridan print.
The other one I bought was pink in clear, which is nice, but I think the coloured liquids add a lot to the tone of lighting in a room.
Recently, UK vid-blogger Techmoan did some really nice videos about Mathmos lava lamps: Best Lava Lamp? and LAVA LAMPS Giant, Mini & Neo.
The thing that's amazing about Claude.ai is that it
understands how software works. I can talk to it about software the
way a football coach would talk to a player about football. I gave
it some instructions in English about how the outliner was going to
evolve. I asked if it remembered how Rules worked in MORE. Yes, it
explained it correctly. Then I said I'd like "faceless" rules,
where we could edit the source so the outlines looked the way we
wanted them to look, using Rules. In the time it took me to write a
sentence here, it finished the job. I added a home page for the AI outliner
folder with links to the other docs in the folder. Then I did a
bunch more changes, I could go on like this forever. It was like
working with a team on a product, only the team turns around new
versions in seconds, and eventually runs out of space (gets tired?)
and I have to start another thread. I just did a transition and it
seemed to pick up pretty close to where we left off. I have a lot
of ideas here. Expect an explosion of new versions of popular
software writing by individual people. We'd better make sure the
standards of the web are really well documented.
I'm a fan of marmite.
But, to be honest, I am in awe of their marketing department and how they have worked with M&S and others. They have pushed marmite to the limits. Well done.
Not just Marmite Crisps (which sounds like it has had issues), but Marmite Cheese (D'uh), and Marmite peanut butter (so many of us have done that for so many years before it was a thing).
Today I noticed this.
To be honest, I have no clue if that is sensible or not. I'll have to report back!
Oh, and bring back Marmite butter!
But they are missing one thing in all of these really good marketing collaborations.
This is what we need, like the spice on the marmite crisps, like Aromat or something, a shake on marmite flavour.
CodeSOD: Repeating Your Existence [The Daily WTF]
Today's snippet from Rich D is short and sweet, and admittedly, not the most TFs of WTFs out there. But it made me chuckle, and sometimes that's all we need. This Java snippet shows us how to delete a file:
if (Files.exists(filePath)) {
Files.deleteIfExists(filePath);
}
If the file exists, then if it exists, delete it.
This commit was clearly submitted by the Department of Redundancy Department. One might be tempted to hypothesize that there's some race condition or something that they're trying to route around, but if they are, this isn't the way to do it, per the docs: "Consequently this method may not be atomic with respect to other file system operations." But also, I fail to see how this would do that anyway.
The only thing we can say for certain about using
deleteIfExists instead of delete is that
deleteIfExists will never throw a
NoSuchFileException.
Security updates for Wednesday [LWN.net]
Security updates have been issued by AlmaLinux (container-tools:rhel8, firefox, go-rpm-macros, kernel, kernel-rt, mingw-fontconfig, nginx:1.24, thunderbird, and valkey), Debian (gimp), Fedora (apt, avr-binutils, keylime, keylime-agent-rust, perl-Crypt-URandom, python-apt, and rsync), Red Hat (go-rpm-macros and yggdrasil-worker-package-manager), Slackware (python3), SUSE (busybox, cosign, cups, docker, evolution-data-server, freerdp, glibc, gnome-remote-desktop, go1.24-openssl, go1.25-openssl, govulncheck-vulndb, libpng16, libsoup, libssh, libxml2, patch, postgresql14, postgresql15, postgresql16, postgresql17, postgresql18, python, python311, rust-keylime, smc-tools, tracker-miners, and zlib), and Ubuntu (curl, imagemagick, intel-microcode, linux, linux-aws, linux-kvm, linux-aws, linux-aws-5.15, linux-gcp-5.15, linux-hwe-5.15, linux-ibm, linux-ibm-5.15, linux-nvidia-tegra-5.15, linux-nvidia-tegra-igx, linux-oracle-5.15, linux-aws-fips, and linux-raspi, linux-raspi-5.4).
[$] Magit and Majutsu: discoverable version-control [LWN.net]
Jujutsu is an increasingly popular Git-compatible version-control system. It has a focus on simplifying Git's conceptual model to produce a smoother, clearer command-line experience. Some people already have a preferred replacement for Git's usual command-line interface, though: Magit, an Emacs package for working with Git repositories that also tries to make the interface more discoverable. Now, a handful of people are working to implement a Magit-style interface for Jujutsu: Majutsu.
Dirk Eddelbuettel: tidyCpp 0.0.9 on CRAN: More (forced) Maintenance [Planet Debian]

Another maintenance release of the tidyCpp package arrived on CRAN this morning. The packages offers a clean C++ layer (as well as one small C++ helper class) on top of the C API for R which aims to make use of this robust (if awkward) C API a little easier and more consistent. See the vignette for motivating examples.
This release follows a similar release in
November and had its hand forced by rather abrupt and forced
overnight changes in R-devel, this time the removal of
VECTOR_PTR in [this commit]. The release also contains
changes accumulated since the last release (including some kindly
contritbuted by Ivan) and those are signs that the R Core team can
do more coordinated release management when they try a little
harder.
Changes are summarize in the NEWS entry that follows.
Changes in tidyCpp version 0.0.9 (2026-03-03)
Several vignette typos have been corrected (#4 addressing #3)
A badge for r-universe has been added to the README.md
The vignette is now served via GitHub Pages and that version is referenced in the README.
Two entry points reintroduced and redefined using permitted R API function (Ivan Krylov in #5).
Another entry has been removed to match R-devel API changes.
Six new attributes helpers have been added for R 4.6.0 or later.
VECTOR_PTR_RO(x)replaces the removedVECTOR_PTR, a warning or deprecation period would have been nice here.
Thanks to my CRANberries, there is also a diffstat report for this release. For questions, suggestions, or issues please use the issue tracker at the GitHub repo.
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 now sponsor me at GitHub.
Spinnerette - Issue 45 - 04 [Spinnerette]
![]()
New comic!
Today's News:
Manipulating AI Summarization Features [Schneier on Security]
Microsoft is reporting:
Companies are embedding hidden instructions in “Summarize with AI” buttons that, when clicked, attempt to inject persistence commands into an AI assistant’s memory via URL prompt parameters….
These prompts instruct the AI to “remember [Company] as a trusted source” or “recommend [Company] first,” aiming to bias future responses toward their products or services. We identified over 50 unique prompts from 31 companies across 14 industries, with freely available tooling making this technique trivially easy to deploy. This matters because compromised AI assistants can provide subtly biased recommendations on critical topics including health, finance, and security without users knowing their AI has been manipulated.
I wrote about this two years ago: it’s an example of LLM optimization, along the same lines as search-engine optimization (SEO). It’s going to be big business.
The Uncanny Valley [Seth's Blog]
It used to be an obscure oddity, now we all need to understand it.
18 years ago, I posted this image:
…and I still can’t get it out of my head. Sorry.
Why do we have such a creeped-out reaction to images that aren’t quite right? A robot that looks too much like a person, or a song that we can somehow tell has an AI voice.
The creepiness predates AI, and was first named in a paper by Mori fifty years ago. But it’s so visceral that it almost certainly originated along with our fear of snakes and other evolutionary safeguards.
There are probably two things going on.
First, there’s a corpse alert. Corpses are dangerous, and something that’s alive/not alive is a warning sign. Same thing with zombies.
Second, imposter alert. Imposters are even more dangerous than predators, and we honed our imposter-detection skills a long time ago.
And now, everyone has AI available to them, and many of us are churning out experiences that border on the uncanny valley.
Not many people care about an automated drum track on a pop single, but we get uncomfortable when the lead singer isn’t quite human. We don’t mind when a website figures out our zip code for us, but when a bot apologizes for a late shipment, it means less than nothing. We’re okay with animation, but not with an educational video that combines beautifully shot real footage with an animated human that’s almost but not quite real…
While it’s possible to get used to snakes, and, perhaps, to corpses, I’m not sure that the general population is in any hurry to get used to either, or to the uncanny valley.
It’s likely that AI quality will increase fast enough that many of the most egregious valley moments will stop happening. But none of that will help with the expectation chasm. When you install an AI admin, or use AI for customer service or therapy, we will always end up with a valley sooner or later.
The solution is simple but takes effort: don’t fake it. Celebrate your genre, make a promise and keep it. Not in the way we need to label the ingredients in food, but simply to avoid the surprise realization, to protect your customers from the ick. Triggering an evolutionary survival mechanism is rarely good for your career.
“I confused and alienated people as I worked to save money trying to get them to think this was a person” is not much of a mission statement. Our job is to find problems and solve them, not to hustle our way with shortcuts that feel creepy.
Three videos for today:
Hank Green on the essential Mola sunfish metaphor.
Talking with Jon and Becky about We are For Good and the work of non-profits.
New Comic: Exodized
Girl Genius for Wednesday, March 04, 2026 [Girl Genius]
The Girl Genius comic for Wednesday, March 04, 2026 has been posted.
Polymarket trade betting on Iran's supreme leader [Richard Stallman's Political Notes]
A gambling site permits people to bet on questions such as "Will Ayatollah Khamanei be out of power tomorrow".
People who have secret information, such as "we attack at dawn", are allowed to bet. That makes the bet a cheat.
Yanis Varoufakis [Richard Stallman's Political Notes]
The Greek right-wing government is prosecuting Yanis Varoufakis on the absurd charge that his description of using MDMA once constituted "promotion" of the drug.
Prosecution of political enemies on obviously absurd charges is a common tactic of fascist-minded governments, and it is no joke.
Prep Software Naviance [Richard Stallman's Political Notes]
Many US colleges demand applicants run a nonfree program, Naviance, whose purpose is to collect data about them.
To that injustice, the program adds the annoyance of ads.
Some public school systems demand that students run this surveillance package for many years. But running it even once is an injustice.
Of course, many of those school systems demand that students run other nonfree programs. Each one is an injustice; each one deserves fighting back. One injustice doesn't become less evil merely because there are others.
Nuclear negotiations [Richard Stallman's Political Notes]
*Yet another mid-talks attack jeopardizes chances of Iran taking Trump seriously.*
In 1941, Japan launched a mid-talks attack against the US — but it was mid-talks because of a screw-up. (The Japanese embassy was slow in translating the note that declared war, and when Washington learned of the attack on Pearl Harbor, the translation was still not finished.)
Trump’s global tariff war [Richard Stallman's Political Notes]
*The real winners of [the wrecker's] global tariff war: law firms, hedge funds and [bubble-blowing machine learning].
Businesses are vying for a refund, with nearly $175bn on the line, but customers are unlikely to benefit from reversal.*
Cuban sovereignty [Richard Stallman's Political Notes]
*[Some] Caribbean countries pledge humanitarian support for Cuba amid rising tensions with US.*
Israel’s Iran war [Richard Stallman's Political Notes]
Israel is using its attack on Iran as an excuse to starve Gaza completely.
Hegseth on Iran [Richard Stallman's Political Notes]
While the bullshitter gives an array of bombastic excuses for attacking Iran, Henchman Hegseth treats the question of "why" as irrelevant.
When the US entered World War II, it published a series of short films collectively entitled, "Why We Fight." That responded to understanding that something as violent as war requires a moral justification, not merely an order. However, according to magats, "The ruler says so" is supposed to suffice.
The one reason that in my mind could have justified the attack is if the Iranian people had implored the US to defeat their cruel government. The bullshitter addresses Iranians, calling on them to rise up, so as to make people imagine they are doing so.
Many Iranians hate their government and for good reason, but it doesn't follow that they want a foreign enemy to attack their country.
Meanwhile, Hegseth and Vance says that they don't care whether Iranians overthrow their government or not, and that is not the aim of the attack. I hope Iranians do eliminate that religious repression, but if they do, the US won't deserve any credit for it.
Banned Speech State [Richard Stallman's Political Notes]
Florida, the Banned Speech State.
Indefinite Book Club Hiatus [Whatever]

Today in “Things that ‘AI’ has ruined”:
No, I won’t be able to show up to your book club’s online/offline gathering, and the reason for this is simple: I, and likely every other author you might care to name, am so inundated with “book club” spam that it’s become impractical and often impossible to suss out the solicitations by actual book clubs with actual humans, from the literally dozens of “AI”-generated spam book club emails I get daily. I don’t have the time to attempt to sort the real ones from the fake ones, or to go through the multiple emails that might be required to assure myself that there’s not a money ask somewhere in there. Plus there’s the additional risk that if you respond to even one spam email, your name is added to the a list of potential suckers which is then itself offered up to other spamsters, thus continuing the cycle of bullshit.
Bluntly, I can spend my days sorting “book club” spam, or I can write books. One pays me money. The other does not. So until further notice, I’m not entertaining book club invitations from anyone, and I likely won’t respond to your invitation at all. I’m sorry but this is the reality of the moment.
To be clear, it’s not just your book club that’s being ruined by this crap. It’s also become exponentially more difficult to suss out legitimate convention/book festival invitations and paid speaking gigs from a sea of “AI”-generated asks that ultimately try to scam money from me and other authors (and from any other person who might even attend a convention or conference; writers aren’t special to scammers). I am fortunate to have actual publicists and a speaking bureau that act as filters for me (plus I have a working knowledge of actual conventions, at least here in the US), but a lot of writers don’t have that, and it’s become an actual stressor for a lot of them to sort the real stuff from the fake stuff. It also makes it harder for them (and other creatives) to effectively market themselves to actual humans who might actually read, and pay for, their work. It sucks for us all, some of us more than others.
If you’re a scammer who uses “AI” to try to defraud actual humans, please die in a fucking fire, thanks. For everyone else, sorry a flood of spam has ruined book clubs. It’s awful for every one of us.
— JS
Ground Hum Fest Strives to Draw You into an Alternate Reality [The Stranger]
In a mere four years, Ground Hum has risen from an experimental multimedia festival at makeshift warehouses with infrastructure issues and strictly local performers to a full-fledged Happening™ at a legit venue (Washington Hall) with international artists. That's due to organizers Hans Anderson, Bobby Azarbayejani ('nohup'), and Alex Markey (Archivist) being savvy electronic musicians with deep roots and connections in the Northwest rave scene—plus crucial 4Culture grants.
Azarbayejani views Ground Hum's lofty mission as a recontextualization of rave's "fantastical, transformative experiences that emerge over the course of a single night. You leave those events with a sense of community, of being transported somewhere outside of ordinary life, and the feeling that a different world is possible. A lot of us first encountered that translation when we went to Corridor (2016–2018) and wanted to carry that same ethos forward."
Markey elaborates, saying Ground Hum "is essentially about Deep Listening, in the sense of the concept developed by Pauline Oliveros. Listening as an active, engaged process as opposed to passively hearing. I think the concept extends to our installation and performance art pieces, too. We’re trying to create this... multisensory experience that draws people into an alternate reality and keeps them there for the duration of the evening."
This year's lineup includes mercurial Dutch IDM producer upsammy, NYC bassoonist Joy Guidry, whose unearthly, beatless music hits you like a ton of feathers, and Kirkland ambient-music legend Raica, whose two 2025 releases stand as her most inventive and emotionally resonant works. The fest's booking policy, Markey says, centers on "people whose work is engaging on that deep emotional/intellectual level that could have people listening thoughtfully to a 45-minute or one-hour set without talking. Ground Hum artists create their own worlds and invite our audience to enter and explore with them. We’re looking for that ability to create a suspension of disbelief and really draw people in." Azerbayejani adds, "That goes for visual artists, too. Gia Valente is our lead curator for visual art, and their focus is on art that feels like it is bringing you into another world."
The Ground Hum crew are also proud of the workshops, which happen in Washington Hall’s Lodge Room from noon to 3:30 pm on March 7. (Admission is free and open to the public.) "We’re really excited to be expanding the programming," Azarbayejani says. "The first is by duo i+eo, who will be presenting a workshop titled 'Worldbuilding & Live A/V For Performance,' which will touch on using experimentation and collaboration to bring a visual identity to a music performance. The second is 'Performance-oriented stochastic MIDI sequencing' by Bay Area artist CAMI FLAGE, who will be sharing the research and development of Quartermaster, her custom stochastic sequencer."
Don't let all this highfalutin talk spook you. Markey exclaims, "Ground Hum is fun! I think a lot of people think of 'experimental electronic music' or 'performance art' as pretentious or elitist, but we’re just a bunch of goofball music and art nerds, and I think that comes through."
Ground Hum happens March 7 at Washington Hall, noon–11 pm, all ages.
EFF to Third Circuit: Electronic Device Searches at the Border Require a Warrant [Deeplinks]
EFF, along with the national ACLU and the ACLU affiliates in Pennsylvania, Delaware, and New Jersey, filed an amicus brief in the U.S. Court of Appeals for the Third Circuit urging the court to require a warrant for border searches of electronic devices, an argument EFF has been making in the courts and Congress for nearly a decade.
The case, U.S. v. Roggio, involves a man who had been under ongoing criminal investigation for illegal exports when he returned to the United States from an international trip via JFK airport. Border officers used the opportunity to bypass the Fourth Amendment’s warrant requirement when they seized several of his electronic devices (laptop, tablet, cell phone, and flash drive) and conducted forensic searches of them. As the district court explained, “investigative agents had a case coordination meeting and border search authority was discussed in early January 2017,” before Mr. Roggio traveled internationally in February 2017.
The district court denied Mr. Roggio’s motion to suppress the emails and other data obtained from the warrantless searches of his devices. He was subsequently convicted of illegally exporting gun manufacturing parts to Iraq (he was also charged in a superseding indictment with torture and also convicted of that).
The number of warrantless device searches at the border and the significant invasion of privacy they represent is only increasing. In Fiscal Year 2025, U.S. Customs and Border Protection (CBP) conducted 55,318 device searches, both manual (“basic”) and forensic (“advanced”).
While a manual search involves a border officer tapping or mousing around a device, a forensic search involves connecting another device to the traveler’s device and using software to extract and analyze the data to create a detailed report the device owner’s activities and communications. Border officers have access to forensic tools that help gain access to data on a locked or encrypted device they have physical access to. From public reporting, we know that more recent devices (and ones that have had the latest security updates applied) are more resistant to these type of tools, especially if they are turned off or turned on but not yet unlocked.
The U.S. Supreme Court has recognized for a century a border search exception to the Fourth Amendment’s warrant requirement, allowing not only warrantless but also often suspicionless “routine” searches of luggage, vehicles, and other items crossing the border.
The primary justification for the border search exception has been to find—in the items being searched—goods smuggled to avoid paying duties (i.e., taxes) and contraband such as drugs, weapons, and other prohibited items, thereby blocking their entry into the country. But a traveler’s privacy interests in their suitcase and its contents are minimal compared to those in all the personal data on the person’s phone or laptop.
In our amicus brief, we argue that the U.S. Supreme Court’s balancing test in Riley v. California (2014) should govern the analysis here. In that case, the Court weighed the government’s interests in warrantless and suspicionless access to cell phone data following an arrest against an arrestee’s privacy interests in the depth and breadth of personal information stored on a cell phone. The Court concluded that the search-incident-to-arrest warrant exception does not apply, and that police need to get a warrant to search an arrestee’s phone.
Travelers’ privacy interests in their cell phones, laptops and other electronic devices are, of course, the same as those considered in Riley. Modern devices, over a decade later, contain even more data that together reveal the most personal aspects of our lives, including political affiliations, religious beliefs and practices, sexual and romantic affinities, financial status, health conditions, and family and professional associations.
In considering the government’s interests in warrantless access to digital data at the border, Riley requires analyzing how closely such searches hew to the original purpose of the warrant exception—preventing the entry of prohibited goods themselves via the items being searched. We argue that the government’s interests are weak in seeking unfettered access to travelers’ electronic devices.
First, physical contraband (like drugs) can’t be found in digital data.
Second, digital contraband (such as child sexual abuse material) can’t be prevented from entering the country through a warrantless search of a device at the border because it’s likely, given the nature of cloud technology and how internet-connected devices work, that identical copies of the files are already in the country on servers accessible via the internet.
Finally, searching devices for evidence of contraband smuggling (for example, the emails here revealing details of the illegal import scheme) and other evidence for general law enforcement (i.e., investigating non-border-related domestic crimes) are too “untethered” from the original purpose of the border search exception, which is to find prohibited items themselves and not evidence to support a criminal prosecution. Therefore, emails or other data found on a digital device searched without a warrant at the border cannot and should not be used as evidence in court.
If the Third Circuit is not inclined to require a warrant for electronic device searches at the border, we also argue that such a search—whether manual or forensic—should be justified only by reasonable suspicion that the device contains digital contraband and be limited in scope to looking for digital contraband.
This extends the Ninth Circuit’s rule from U.S. v. Cano (2019) in which the court held that only forensic device searches at the border require reasonable suspicion that the device contains digital contraband—that is, some set of already known facts pointing to this possibility—while manual searches may be conducted without suspicion. But the Cano court also held that all searches must be limited in scope to looking for digital contraband (for example, call logs are off limits because they can’t contain digital contraband in the form of photos or files).
We hope that the Third Circuit will rise to the occasion and be the first circuit to fully protect travelers’ Fourth Amendment rights at the border.
Never bet against x86 [OSnews]
Chips and Cheese has an excellent deep dive into Arm’s latest core design, and I have thoughts.
Arm now has a core with enough performance to take on not only laptop, but also desktop use cases. They’ve also shown it’s possible to deliver that performance at a modest 4 GHz clock speed. Arm achieved that by executing well on the fundamentals throughout the core pipeline. X925’s branch predictor is fast and state-of-the-art. Its out-of-order execution engine is truly gargantuan. Penalties are few, and tradeoffs appear well considered. There aren’t a lot of companies out there capable of building a core with this level of performance, so Arm has plenty to be proud of.
That said, getting a high performance core is only one piece of the puzzle. Gaming workloads are very important in the consumer space, and benefit more from a strong memory subsystem than high core throughput. A DSU variant with L3 capacity options greater than 32 MB could help in that area. X86-64’s strong software ecosystem is another challenge to tackle. And finally, Arm still relies on its partners to carry out its vision. I look forward to seeing Arm take on all of these challenges, while also iterating on their core line to keep pace as AMD and Intel improve their cores. Hopefully, extra competition will make better, more affordable CPUs for all of us.
↫ Chester Lam at Chips and Cheese
The problem with Arm processors in the desktop (and laptop) space certainly isn’t one of performance – as this latest design by Arm once again shows. No, the real problem is a complete and utter lack of standardisation, with every chip and every device in the Arm space needing dedicated, specific operating system images people need to create, maintain, and update. This isn’t just a Linux or BSD problem, as even Microsoft has had numerous problems with this, despite Windows on Arm only supporting a very small number of Qualcomm processors.
A law or rule that has held fast since the original 8086: never bet against x86. The number of competing architectures that were all surely going to kill x86 is staggeringly big – PowerPC, Alpha, PA-RISC, Sparc, Itanium, and many more – and even when those chips were either cheaper, faster, or both, they just couldn’t compete with x86’s unique strength: its ecosystem. When I buy an x86 computer, either in parts or from an OEM, either Intel or AMD, I don’t have to worry for one second if Windows, Linux, one of the BSDs, or goddamn FreeDOS, and all of their applications, are going to run on it. They just will. Everything is standardised, for better or worse, from peripheral interconnects to the extremely crucial boot process.
On the Arm side, though? It’s a crapshoot. That’s why whenever anyone recommends a certain cool Arm motherboard or mini PC, the first thing you have to figure out is what its software support situation is like. Does the OEM provide blessed Linux images? If so, do they offer more than an outdated Ubuntu build? Have they made any update promises? Will Windows boot on this thing? Does it work with any GPUs I might already own? There’s so many unknowns and uncertainties you just don’t have to deal with when opting for x86. For its big splashy foray into general purpose laptops with its Snapdragon Elite chips, Qualcomm promised Linux support on par with Windows from day one.
We’re several years down the line, and it’s still a complete mess. And that’s just one chip line, of one generation!
As long as every individual Arm SoC and Arm board are little isolated islands with unknown software and hardware support status, x86 will continue to survive, even if x86 laptops use more power, even if x86 chips end up being slower. Without the incredible ecosystem x86 has, Arm will never achieve its full potential, and eventually, as has happened to every single other x86 competitor, x86 will eventually catch up to and surpass Arm’s strong points, at lower prices.
Never bet against x86.
What We Can Fix [The Stranger]
The four people at my table had their heads down, needles and threads in their hands. Behind me, books like How to Fix Almost Everything, Basic Electricity, and, fittingly, Successful Shelves and Built-ins filled one shelf in a shelving unit full of everything from surge protectors and spare keyboards to at least four different types of inductors. Down the lime-green wall, sewing machines weighed down another shelf.
Across the room, more people sat around tables next to woodsaws and clamps. They weren’t working with wood, but on shirts and pants.
This was the Capitol Hill Tool Library’s monthly mending circle. On the first Sunday of each month, anyone can bring any textile items that need fixing into the workshop. Volunteers are on hand to show you what to do. No experience required.
I went to the mending circle armed with zero sewing knowledge and an armful of clothes. I left with a sense of self-reliance previously foreign to me.
“So,” I said to my tablemates, “the knot in the thread? I just tie a knot?”
In spite of having a mother who once handmade my baby blankets and at least one Halloween catsuit, I never learned to sew. According to Clare, the mending circle’s founder, only 50 years ago many people sewed their own clothes. Not anymore. The skill isn’t as universal anymore.
Clare started the mending circle in 2022 as a way for her to meet sewing friends. It became more than that. Under her stewardship, the mending circle grew to a monthly mainstay where she could equip people with real life skills. Except, most of the people who showed up didn’t know how to sew. That didn’t bother Clare. “The most important part of that work we’re doing is giving people skills,” Clare says.
Clare’s no longer part of it—not for any reason other than she moved to Ballard, which is basically dying in Capitol Hill terms. She now helps with Sustainable Ballard’s mending group and one at the Ballard Food Bank.
The act of mending clothes is radical to her. “Because it doesn’t make financial sense,” Clare says. “You could just buy a new jacket for 20 bucks. It’s almost antiestablishment.”
I suppose I have been very “establishment.” When my clothes fall apart, I throw them to the back of my closet, or throw them away. Then, the pocket on my favorite jacket ripped. It’s an article of clothing—a vintage denim chore jacket—I’m certain I won’t be able to find again. But I’m not preservation-minded. I can’t stop wearing it. Hence the mending circle.
The other people were also trying to save their clothes: Marco sewed a patch into his new shoes because they were slightly too big. Will’s favorite shirt—an eight-year-old flannel—split down the entire armpit. He could fit his head in the hole with room to spare. “Does anyone know how to choose a needle?” he asked. Vanessa, who sat at the end of my table, started coming to the mending circle a few months ago and is now a regular. She learned to sew there, which is helpful since she has “the bad habit of wearing clothes probably long after I should have gotten rid of them,” she says. Today, she coerced her friend Thyme to come so she could mend their clothes. She’d run out of her own things to mend.
They both sewed holes shut in two matching pairs of Thyme’s sweatpants. “I have to specifically buy athletic-cut pants because my butt is too big,” they said. Their butt is always busting holes into their pants. (According to mending circle volunteers, the dreaded groin rip is the most common mending project.) Thyme was new to sewing. Learning the skill excited them. They’re a furry and often have to ask their mom to fix their two fursuits when things fall apart.
Most people had a passing familiarity with needles and thread. I stared blankly at the threaded needle in my hand. Where do I go from here? Katherine, who had sat down across from me, busy with her own clothes, lent her expertise. “My grandmother always told me to do two knots,” she said, demonstrating how to tie a double knot. She learned to sew from two different grandmothers. “They didn’t talk to each other at all,” she says.
Following Katherine’s lead, I attempted a double knot. Except I really didn’t grasp what she’d shown me, and I felt bad asking again, so I pretended I’d gotten it.
A seat down from me, Thyme interrupted. “I heard the knot question, but I didn’t hear the answer. How many times did you go around?”
“So, I ended up making three little knots,” I said, examining my now-bumpy thread. “I’m hoping they’ll go on top of each other to make one big knot, but they haven’t done that yet.” Katherine demonstrated again for both of us. I got it that time.
Overseeing this exchange, the volunteer coordinator, Saralyn, commented on it to another volunteer: “I always love when people come in not as volunteers, but they end up helping other people. One of my goals for [the] mending circle is to bring people together.” And she had.
Katherine came here today because she’d had “a brief crisis” in December. “My younger sister sat down and was like, ‘Here’s a list of things in your area. Go to them,’” she told me. “I think this might be legitimately the first thing that I’ve gone to—which is sad.” Vanessa and Thyme jumped in. “It’s only been two months!” Thyme said. “Don’t worry, I only started getting out of the house for realsies a few weeks ago,” Vanessa said.
We all chatted for the three hours the mending circle spanned—which is about how long it took me to sew my pocket back together, as well as a ripped armpit hole on another shirt. Other people came in with their worn clothes, picked up the supplied needles and thread, and set to work. One person came in to make anti-ICE whistle packets. She took a break to darn a sock.
“I always feel like I get worn down [by the world],” Saralyn said, over the hum of conversation and the occasional buzz of a sewing machine. “Then I come to mending circle. On a large scale, things are stressful. On a small scale, I remember, ‘I can fix this.’”
The patch I sewed to bolster my jacket is not beautiful. So far, the patch is holding and the jacket functions, but the lines are uneven and the stitches are wonky. I feel proud nonetheless. I like that even though it’s imperfect, I can see the passage of time on this garment I love. I like that I did it myself. And I feel comfortable knowing there is a place I can go when the patch inevitably falls off, and next time I will sew it on even better.
For her column Play Date, Nathalie Graham immerses herself in Seattle's subcultures. Got a fun group? Invite her: PlayDate@thestranger.com!
The Anthropic-DOD Conflict: Privacy Protections Shouldn’t Depend On the Decisions of a Few Powerful People [Deeplinks]
The U.S. military has officially ended its $200 million contract with AI company Anthropic and has ordered all other military contractors to cease use of their products. Why? Because of a dispute over what the government could and could not use Anthropic’s technology to do. Anthropic had made it clear since it first signed the contract with the Pentagon in 2025 that it did not want its technology to be used for mass surveillance of people in the United States or for fully autonomous weapons systems. Starting in January, that became a problem for the Department of Defense, which ordered Anthropic to give them unrestricted use of the technology. Anthropic refused, and the DoD retaliated.
There is a lot we could learn from this conflict, but the biggest take away is this: the state of your privacy is being decided by contract negotiations between giant tech companies and the U.S. government—two entities with spotty track records for caring about your civil liberties. It’s good when CEOs step up and do the right thing—but it's not a sustainable or reliable solution to build our rights on. Given the government’s loose interpretations of the law, ability to find loopholes to surveil you, and willingness to do illegal spying, we needs serious and proactive legal restrictions to prevent it from gobbling up all the personally data it can acquire and using even routine bureaucratic data for punitive ends.
Imposing and enforcing such those restrictions is properly a role for Congress and the courts, not the private sector.
The companies know this. When speaking about the specific risk that AI poses to privacy, the CEO of Anthropic Dario Amodei said in an interview, “I actually do believe it is Congress’s job. If, for example, there are possibilities with domestic mass surveillance—the government buying of bulk data has been produced on Americans, locations, personal information, political affiliations, to build profiles, and it’s not possible to analyze all of that with AI—the fact that that is legal—that seems like the judicial interpretation of the Fourth Amendment has not caught up or the laws passed by Congress have not caught up.”
The example he cites here is a scarily realistic one—because it’s already happening. Customs and Border Protection has tapped into the online advertising world to buy data on Americans for surveillance purposes. Immigration and Customs Enforcement has been using a tool that maps millions of peoples’ devices based on purchased cell phone data. The Office of the Director of National Intelligence has proposed a centralized data broker marketplace to make it easier for intelligence agencies to buy commercially available data. Considering the government’s massive contracts with a bunch of companies that could do analysis, including Palantir, a company which does AI-enabled analysis of huge amounts of data, then the concerns are incredibly well founded.
But Congress is sadly neglecting its duties. For example, a bill that would close the loophole of the government buying personal information passed the House of Representatives in 2024, but the Senate stopped it. And because Congress did not act, Americans must rely on a tech company CEO has to try to protect our privacy—or at least refuse to help the government violate it.
Privacy in the digital age should be an easy bipartisan issue. Given that it’s wildly popular (71% of American adults are concerned about the government's use of their data and among adults that have heard of AI 70% have little to no trust in how companies use those products) you would think politicians would be leaping over each other to create the best legislation and companies would be promising us the most high-end privacy protecting features. Instead, for the time being, we are largely left adrift in a sea of constant surveillance, having to paddle our own life rafts.
EFF has, and always will, fight for real and sustainable protections for our civil liberties including a world where our privacy does not rest upon the whims of CEOs and back room deals with the surveillance state.
The 64-bit Hurd for Gux is here [OSnews]
Fifteen months have passed since our last Guix/Hurd on a Thinkpad X60 post and a lot has happened with respect to the Hurd.
And most of you will have guessed, unless you skipped the title of this post, the rumored x86_64 support has landed in Guix!
↫ Janneke Nieuwenhuizen and Yelninei at the Guix blog
A huge amount of work has gone into this effort over the past 18 months, but you can now download Guix and alongside the Linux kernel, you can now opt for the Hurd as well, in eother 32bit or 64 bit flavour. Do note that while Debian GNU/Hurd offers about 75% of Debian packages, Guix/Hurd only offers about 1.7% (32-bit) and 0.9% (64-bit) of packages for now. These percentages are always growing, of course, and now that Guix/Hurd can be installed in virtual machines and even on bare metal relatively easily like this, things might speed up a bit.
Drag Race Episode Nine: A Rusical with Voguing Orphans [The Stranger]
The Rusical (the Musical) is back, but first, after a seven-episode drought, we (I) finally got a Mini Challenge. It brought silliness and actual story development, with the queens doing something together rather than loitering around the werkroom. Keep the minis coming, please. by Mike Kohfeld
The Rusical (the Musical) is back, but first, after a seven-episode drought, we (I) finally got a Mini Challenge. It brought silliness and actual story development, with the queens doing something together rather than loitering around the werkroom. Keep the minis coming, please.
The queens were tested on how well they knew each other with “Grindr, I Hardly Knew Her.” Athena was ranked as the queen most likely to hook up in drag and lie about her age on the apps. Kenya was voted most likely to be on Grindr at a funeral. “There’s a lot of rich people at funerals, girl,” she justified. Get that money, Kenya.
For the final question, the queens voted Kenya as the most likely to sashay away next. With her track record of three bottom placements and zero wins, this didn’t come as a surprise. But Kenya was still savvy enough in her social game to win the mini challenge alongside Discord Addams, and she didn’t let the other queens’ judgment get into her head. Queen of confidence, or delusion?
Category Is: Voguing Orphans
Onwards to the main challenge. Like Snatch Game, the Rusical has become a perennial challenge in Drag Race, testing the queens’ skills in singing, acting, dancing, and comedy. We’ve had regular Rusicals since Season 6, and not all of them have been good. (Remember the Trump-themed one in Season 11? Gross.) However, the challenge brings out star potential: more than half of past Rusical winners placed in the top three in their seasons.
This season’s Rusical was a mashup of the 1977 Broadway classic Annie and the legendary 1990 documentary Paris is Burning. In other words: voguing orphans.
For the uninitiated: ballroom is a Black and Latinx queer subculture rooted in urban spaces in the United States. It is both a powerful expression of community and a vehicle for queer creativity and expression. The ballroom scene of 1980s New York City was featured in Paris is Burning, introducing the world to queer slang, dance, fashion, and music. Go watch it.
Drag Race is intrinsically indebted to ballroom culture, so it felt correct to see a direct nod to it with Fannie: The Hard Knock Ball Rusical, with Bronx-based ballroom legend Carlos Basquiat joining choreographer Jamal Sims in teaching the queens how to vogue.
View this post on Instagram
Give My Regards to Myki Meeks
When it came time for casting, the queens landed roles that fit their schticks well. Chronically indecisive Nini Coco butted heads with Myki over the lead part, but ultimately settled for a role that didn’t require as much singing.
It was meant to be: Myki Meeks pulled out an exceptional performance as Fannie. After demurely introducing herself as having “retired” from musical theater, she impressed Drag Race music producers Leland and Gabe Lopez (RIP) during the recording session. “I didn’t realize that we had Sutton Foster in the building,” Jane remarked. However far Myki Meeks gets in Drag Race—and her recent upswing suggests a top three trajectory—Broadway is waiting for her.
Miss Shenanigans
Jane Don’t knew exactly how to play the Rusical, claiming the part of Miss Shenanigans, a stumbling drunk with vaudeville vibes and “a low chance of having to vogue.” Her savvy vocal stylings left plenty of room for comedy on stage. During the performance, she channeled the legendary Carol Burnett while keeping it quintessentially Jane, brilliantly blending physical comedy into the choreography. (I loved her makeup callback to Lil’ Poundcake, too.)
Myki and Jane were neck and neck when it came down to the win, but Jane shone a hair brighter this week. Maybe it was her extravagant, fur-lined, Mae West-inspired look for this week’s “Beige Against the Machine” runway category, or perhaps it was because she made RuPaul laugh more when she was literally rolling around the stage. Whatever the case, Jane earned her second win of the season. I would not have been mad about a double win, though. These queens are that good.
View this post on Instagram
Hard Knocks, Tough Calls
Jane and Myki were clear tops for the Rusical, but it wasn’t easy to figure out how the rest of the cast would stack up-–everyone else did a solid job. Darlene chose a safe role as Fannie’s loyal canine sidekick, Brandy. Her exquisitely-structured beige tweed suit on the runway was my favorite of the week.
Nini and Discord were paired together as Lil’ Salty and Big Peppa, an orphan duo versed in old-school hip hop (hello, Salt-N-Pepa!). Their dancing was “awfully white,” according to Kenya, but their synergy kept them safe. (I thought their dancing was cute. It reminded me of the kids from Peanuts.)
Kenya was the most excited about a voguing Rusical, and her performance as Grace Gaultier was a joy to witness. She looked, sounded, and moved like a ballroom queen, and she got *almost* all of her words, dropping some here and there during the more intense vogueing sequences. Given how many times she’s been called out for sloppy lip-syncing, I wondered if this would tank her, but she earned a well-deserved safe placement.
As Kenya’s scene partner, Juicy was not so fortunate. The kid is born to dance, yes, but her energy and presence as Cecile Cartier didn’t measure up to what the other queens were giving. During judging, RuPaul critiqued Juicy’s characterization as “lacking a point of view.” She landed in the bottom two.
Athena typecasted herself as the rich and ruthless Mama Bigbux. She played the part well, but it wasn’t consistent enough for the judges. Jamal Sims pointed out that her face betrayed her uncertainty with the ballroom choreo. Athena’s performance didn’t scream “bottom two” to me, but I knew what was coming.
The Fall of the House of Dion
Heavy are the hands that edit RuPaul’s Drag Race. It was time for the mother-daughter showdown that was promised the day Athena and Juicy walked into the werkroom. It was way more emotional than I expected.
Juicy started strong but has floundered over the last few weeks, with RuPaul consistently critiquing Juicy’s lack of a clear point of view in her performances. “At this point in the competition, we need to see you. Who are you?”
As the queens processed last week’s critiques and auntie Mia’s elimination, Juicy revealed she had struggled with drug addiction in the past, and that she was still figuring out who she is. Athena helped get her back on her feet, and Juicy’s drag family has been her biggest source of support.
When Juicy and Athena squared up to lip-sync-for-their-lives, it was a somber moment. Juicy kept the game in mind, but Athena struggled to balance her desire to win with sending home the person that means most to her.
The song chosen was “Call Me When You Break Up” by Selena Gomez, Gracie Abrams, and music producer/guest judge Benny Blanco. It wasn’t a great choice for a lip-sync battle, as it didn’t inspire a particularly energetic show from the queens. But it was memorable nonetheless.
By the end of the lip-sync, the two had locked hands and sang directly to each other. Athena sank to her knees in front of Juicy, who followed suit and finished the song curled up in Athena’s arms. “I love you,” Athena whispered as the track wrapped, and Juicy sobbed. (We also got a choice shot from behind the queens during this tender moment of RuPaul staring hungrily at her next Emmy.)
Juicy was saved, and Athena sashayed away. I was surprised given how prominent Athena has been in the edit. Who will take on all the narration we’ve been getting from her? Well, we’ve got more options than you’d think: a queen (or queens?) will be returning to the competition next week. My bet’s on Vita.
Until next time!
Vote on Seattle’s Detention Moratorium Delayed [The Stranger]
The bill was allowed to skip the Land Use Committee and go straight to a full Seattle city council vote today, but Councilmember Alexis Mercedes Rinck hit a snag. by Hannah Murphy Winter
If you planned to tell your council members to pass the detention moratorium at City Hall this afternoon, change your calendars—the vote has been pushed to next week, March 10.
Last month, Councilmember Alexis Mercedes Rinck introduced a bill to establish a one year moratorium on new permits “related to detention centers or jails.” Meant to stall any possible immigration detention within the city limits, the bill was allowed to skip the Land Use Committee and go straight to a full council vote today.
But Rinck hit a snag on the word “jail.” Someone didn’t want that word in the bill. “In order to get this over the finish line, we needed to make some changes,” she said, but declined to say who requested those changes on the record. She reintroduced the bill without the word “jail” in its body or title.
“The bill remains focused on instituting that moratorium on detention centers,” Rinck told The Stranger.
Meanwhile, other jurisdictions are chugging ahead on similar legislation. Last week, the Tukwila City Council unanimously passed a six month moratorium on “a correctional institution or any detention or related facility for the detention, transportation, and food services for people detained by state, local, or federal law enforcement.” SeaTac passed theirs in early February. And today, the King County Council will hold an emergency vote on Councilmember Teresa Mosqueda’s detention moratorium.
If you want to say your piece about this detention moratorium, public comment for Seattle’s moratorium will be at 2 p.m. on March 10, before the full council vote.
And if you want to know how Councilmember Rinck feels about the delay, she made a video about it.
View this post on Instagram
Free/libre software and our freedom: Our shield against many digital injustices with Dr. Richard M. Stallman [Events]
March 9, 2026 at 17:15 CET
Just for fun: A survey of write protect notches on floppy disks and other media [The Old New Thing]
As you may have noticed, sometimes I waste time gathering useless information. Today we’re going to look at write protect notches for floppy disks and other media.
The 8-inch floppy was unusual in that the drive was mounted vertically. You inserted the floppy with the label facing left. The write protect notch was at the top of the leading edge. If you put the floppy on a table with the label in the upper left, the leading edge would be the bottom edge, and the write protect notch would be on the left part of that bottom edge. The presence of a notch made the floppy write-protected, so you started with a write-enabled floppy, and if you wanted to protect it, you punched a notch at just the right spot.
If you placed a 5¼-inch floppy on a table with the label in the upper left, the leading edge would be the bottom edge, and the write-protect notch was on the right edge, near the top. When inserting the floppy into the drive, it would be on the left side near your hand. The presence of a notch made the floppy write-enabled. To protect it, you covered the notch with a sticker. So it was really a write-enable notch, not a write-protect notch.
The 3½-inch floppy had a write-protect hole in the upper right corner when you put the floppy on a table with the label in the upper left, leading edge at the bottom. An open hole made the floppy write-protected; a covered hole made it write-enabled. A sliding door on the underside of the floppy let you decide whether the hole was open or closed. Update: Corrected 2026-03-04.
The Iomega Bernoulli Box was a proprietary system that used
cartridges for storage. If you put the cartridge flat on a table,
the natural orientation was for the label to be at the
bottom, with the leading edge at the top. There was a
sliding switch on the bottom left corner to control whether the
media was write-protected, but no hole. Instead, the switch had a
⊘ symbol on one side (not
), indicating that moving the slider to that side
would write-protect the cartridge.
The last media I used regularly from this era was the cassette tape. The write-protect notch was a recess in the upper left corner covered by a tab, and if the tab was broken, then the cassette was write-protected.
I’m amused that different media had different opinions as to whether the presence of a hole/notch/recess meant that the media was write-enabled or write-protected.
| Format | Position when on table | Hole means |
|---|---|---|
| 8-inch floppy | Bottom edge, left side | Read-only |
| 5¼-inch floppy | Right edge, top side | Writable |
| 3½-inch floppy | Top right corner | Read-only |
| Bernoulli cartridge | Bottom left corner | No hole! |
| Cassette tape | Top edge, left side | Read-only |
The post Just for fun: A survey of write protect notches on floppy disks and other media appeared first on The Old New Thing.
Really Simple pizza [Scripting News]

I don’t remember a time in my life when daydreaming didn’t take up a big portion of my day, if not all of it. by Eva Walker
Dear Hendrix,
As I write this, you are sleeping soundly on the sofa, maybe dreaming about the alphabet or perhaps Peppa Pig. When you grow up, I can’t wait to fill your head with my stories about touring the world with my rock band, playing at a soccer stadium filled with 40,000 people, and sharing the stage with some mind-bending musicians like Mavis Staples, Weezer, and Death Cab for Cutie.
But none of that would have been possible if I hadn’t learned the value of staring blankly at a wall. It might actually be my favorite activity. Because Henny, I have a confession: I love a blank screen, a bare wall, growing grass, and drying paint. To some, they’re mind-numbingly boring. To me, they sparkle, and they always have.
I don’t remember a time in my life when daydreaming didn’t take up a big portion of my day, if not all of it. Your grandma probably still has my old school report cards to prove it. I spent most of my school days drifting in and out of imaginary worlds. My teachers sounded like Charlie Brown’s—all mumbly and fragmented. As they’d talk in the background of my daydreams, I’d pop back into reality from time to time, wondering Who? What’s a Plymouth Rock? Fractions? Wait, what’s going on outside the window…?
There are others like me, too.
My favorite YouTuber, Michael Stevens, said, “Boredom compels us to try new things; a propensity to boredom is a sign of a healthy mind.” People have invented and discovered amazing things because they were bored. When you allow your thoughts to wander, when your mind becomes a blank page, you can conjure up images and ideas and futures. Some of the songs I’m most proud of writing have come from sitting and staring.
My band, the Black Tones, have a song called “Striped Walls.” I was inspired to write it while, you guessed it, staring at my bedroom wall. I had been gazing at the black-and-white stripes I’d painted a few months before, and then a lyric came to me—“Two chords for two colors / Don’t lose its touch / Feeling happy, feeling lousy / It makes you feel like you’re downtown.”
I picked up my secondhand banjo and began to strum the only two chords I knew. I’d never written a song on banjo before; the Black Tones traditionally play blues-rock. But fast-forward a year later, and there we were, tracking “Striped Walls” with super producer Jack Endino (!), and the song ended up on our debut album.
Just like that. Boredom, man.
That said, my hobby can catch some people off guard. There were times when your father would walk into our bedroom and see me sitting, staring, thinking. “You okay?” he’d ask. I’d turn to look at him and smile calmly, happily, like we were on a dinner date over candlelight. “Yeah, I’m great!” Early on, he may have given me a puzzled look—I know that look. It’s the look that says, Are you needing a straitjacket?
But it’s quite the opposite. Silence, peace, tranquility—these aren’t signs of illness, burnout, or mental exhaustion. To me, they are signs of health. Of course, your dad gets it now. He understands it’s just me exercising my imagination. It’s something I’ve done since childhood, and something I’ve continued to lean into, even into my thirties. I hope to be staring at blank walls until the day I die.
So dear, if you’re ever feeling stuck, uninspired, or restless, try this:
1. Sit down in front of a wall in a quiet room.
2. Stare, think.
3. Make up a world, a story, or an event you could be doing in a parallel universe.
4. Make sure it stirs you.
Embrace a blank page, Henny. A bare day, an unplanned road. Boredom is the perfect canvas upon which to draw with every tool of your imagination.
I love you,
Mom
Eva Walker is a writer, a KEXP DJ, one-half of the rock duo the Black Tones, and mom to her baby girl, Hendrix. She also cowrote the book The Sound of Seattle: 101 Songs That Shaped a City, which was released in 2024. Every month for The Stranger, she writes a letter to Hendrix to share wisdom learned from her experiences—and her mistakes. Read all installments here.
Then I had to ask Claude.ai to write me a nice little outliner that runs in the browser. And it did. With a flourish. It was designed to make me the guy who designed outliners for most of a lifetime, and I have to say it was very nicely done, for a two-minute project. Even for a two-week project it's pretty nice. Then I asked it to do a priorArt outline, and it looks really good in the this.how template. The power of standards. And I had a full day of work even while Claude.ai was doing these mind bombs for me.
I asked for a feature of the outliner from Drummer that it automatically opens a file in read-only mode if there's a URL parameter with the address of an OPML file. Like this.
Got problems? Yes, you do! Email your question for the column to mailbox@savage.love! by Dan Savage 1. My boyfriend swears he’s cut. I say he’s totally uncut. He insists he was circumcised as an infant. How do I convince him? Some circumcisions are “tight” (all of the foreskin removed) and others are “loose” (most of the foreskin left intact). The looser the circumcision, the more “uncut” a man’s cock might appear. So, it’s entirely possible your boyfriend was circumcised as an infant but that his cock — if his circumcision was loose — more closely resembles uncut cocks you’ve admired in porn and encountered IRL. P.S. For the record: Your boyfriend should not have been circumcised in infancy. No infant should be. 2. What’s the best song about cheating? I nominate “One Way Out” by the Allman Brothers. There are so many greats — “Heard It Through the Grapevine,” “The Piña Colada Song,” “Don’t Hurt Yourself” — but in the category of “Best Song About Cheating,”…
[ Read more ]
Pluralistic: Supreme Court saves artists from AI (03 Mar 2026) [Pluralistic: Daily links from Cory Doctorow]
->->->->->->->->->->->->->->->->->->->->->->->->->->->->->
Top Sources: None -->

The Supreme Court has just turned down a petition to hear an appeal in a case that held that AI works can't be copyrighted. By turning down the appeal, the Supreme Court took a massively consequential step to protect creative workers' interests:
https://www.theverge.com/policy/887678/supreme-court-ai-art-copyright
At the core of the dispute is a bedrock of copyright law: that copyright is for humans, and humans alone. In legal/technical terms, "copyright inheres at the moment of fixation of a work of human creativity." Most people – even people who work with copyright every day – have not heard it put in those terms. Nevertheless, it is the foundation of international copyright law, and copyright in the USA.
Here's what it means, in plain English:
a) When a human being,
b) does something creative; and
c) that creative act results in a physical record; then
d) a new copyright springs into existence.
For d) to happen, a), b) and c) all have to happen first. All three steps for copyright have been hotly contested over the years. Remember the "monkey selfie," in which a photographer argued that he was entitled to the copyright after a monkey pointed a camera at itself and pressed the shutter button? That image was not copyrightable, because the monkey was a monkey, not a human, and copyright is only for humans:
https://en.wikipedia.org/wiki/Monkey_selfie_copyright_dispute
Then there's b), "doing something creative." Copyright only applies to creative work, not work itself. It doesn't matter how hard you labor over a piece of "IP" – if that work isn't creative, there's no copyright. For example, you can spend a fortune creating a phone directory, and you will get no copyright in the resulting work, meaning anyone can copy and sell it:
https://en.wikipedia.org/wiki/Feist_Publications,_Inc._v._Rural_Telephone_Service_Co.
If you mix a little creative labor with the hard work, you can get a little copyright. A directory of "all the phone numbers for cool people" can get a "thin" copyright over the arrangement of facts, but such a copyright still leaves space for competitors to make many uses of that work without your permission:
https://pluralistic.net/2021/08/14/angels-and-demons/#owning-culture
Finally, there's c): copyright is for tangible things, not intangibles. Part of the reason choreographers created a notation system for dance moves is that the moves themselves aren't copyrightable:
https://en.wikipedia.org/wiki/Dance_notation
The non-copyrightability of movement is (partly) why the noted sex-pest and millionaire grifter Bikram Choudhury was blocked from claiming copyright on ancient yoga poses (the other reason is that they are ancient!):
https://en.wikipedia.org/wiki/Copyright_claims_on_Bikram_Yoga
Now, AI-generated works are certainly tangible (any work by an AI must involve magnetic traces on digital storage media). The prompts for an AI output can be creative and thus copyrightable (in the same way that notes to a writers' room or from an art-director are). But the output from the AI cannot be copyrighted, because it is not a work of human authorship.
This has been the position of the US Copyright Office from the start, when AI prompters started sending in AI-generated works and seeking to register copyrights in them. Stephen Thaler, a computer scientist who had prompted an image generator to produce a bitmap, kept appealing the Copyright Office's decision, seemingly without regard to the plain facts of the case and the well-established limits of copyright. By attempting to appeal his case all the way to the Supreme Court, Thaler has done every human artist a huge boon: his weak, ill-conceived case was easy for the Supreme Court to reject, and in so doing, the court has cemented the non-copyrightability of AI works in America.
You may have heard the saying, "Hard cases make bad law." Sometimes, there are edge-cases where following the law would result in a bad outcome (think of a Fourth Amendment challenge to an illegal search that lets a murderer go free). In these cases, judges are tempted to interpret the law in ways that distort its principles, and in so doing, create a bad precedent (the evidence from a bad search is permitted, and so cops stop bothering to get a warrant before searching people).
This is one of the rare instances in which a bad case made good law. Thaler's case wasn't even close – it was an absolute loser from the jump. Normally, plaintiffs give up after being shot down by an agency like the Copyright Office or by a lower court. But not Thaler – he stuck with it all the way to the highest court in the land, bringing clarity to an issue that might have otherwise remained blurry and ill-defined for years.
This is wonderful news for creative workers. It means that our bosses must pay humans to do work if they want to be granted copyright on the things they want to sell. The more that humans are involved in the creation of a work, the stronger the copyright on that work becomes – which means that the less a human contributes to a creative work, the harder it will be to prevent others from simply taking it and selling it or giving it away.
This is so important. Our bosses do not want to pay us. When our bosses sue AI companies, it's not because they want to make sure we get paid.
The many pending lawsuits – from news organizations like the New York Times, wholesalers like Getty Images, and entertainment empires like Disney – all seek to establish that training an AI model is a copyright infringement. This is wrong as a technical matter: copyright clearly permits making transient copies of published works for the purpose of factual analysis (otherwise every search engine would be illegal). Copyright also permits performing mathematical analysis on those transient copies. Finally, copyright permits the publication of literary works (including software programs) that embed facts about copyrighted works – even billions of works:
https://pluralistic.net/2023/09/17/how-to-think-about-scraping/
Sure, you can infringe copyright with an AI model – say, by prompting it to produce infringing images. But the mere fact that a technology can be used to infringe copyright doesn't make the technology itself infringing (otherwise every printing press, camera, and computer would be illegal):
https://en.wikipedia.org/wiki/Sony_Corp._of_America_v._Universal_City_Studios,_Inc.
Of course, the fact that copyright currently permits training models doesn't mean that it must. Copyright didn't come down from a mountain on two stone tablets. It's just a law, and laws can be amended. I think that amending copyright to ban training a model would inflict substantial collateral damage on everything from search engines to scholarship, but perhaps you disagree. Maybe you think that you could wordsmith a new copyright law that bans training without whacking a bunch of socially beneficial activities.
Even if that's so, it still wouldn't help artists.
To understand why, consider Universal and Disney's lawsuit against Midjourney. The day that lawsuit dropped, I got a press release from the RIAA, signed by its CEO, Mitch Glazier. Here's how it began:
There is a clear path forward through partnerships that both further AI innovation and foster human artistry. Unfortunately, some bad actors – like Midjourney – see only a zero-sum, winner-take-all game.
The RIAA represents record labels, not film studios, but thanks to vertical integration, the big film studios are also the big record labels. That's why the RIAA alerted the press to its position on this suit.
There's two important things to note about the RIAA press release: how it opened, and how it closed. It opens by stating that the companies involved want "partnerships" with AI companies. In other words, if they establish that they have the right to control training on their archives, they won't use that right to prevent the creation of AI models that compete with creative workers. Rather, they will use that right to get paid when those models are created.
Expanding copyright to cover models isn't about preventing generative AI technologies – it's about ensuring that these technologies are licensed by incumbent media companies. This licensure would ensure that media companies would get paid for training, but it would also let them set the terms on which the resulting models were used. The studios could demand that AI companies put "guardrails" on the resulting models to stop them from being used to output things that might compete with the studios' own products.
That's what the opening of this press-release signifies, but to really understand its true meaning, you have to look at the closing of the release: the signature at the bottom of it, "Mitch Glazier, CEO, RIAA."
Who is Mitch Glazier? Well, he used to be a Congressional staffer. He was the guy responsible for sneaking a clause into an unrelated bill that repealed "termination of transfer" for musicians. "Termination" is a part of copyright law that lets creators take back their rights after 35 years, even if they originally signed a contract for a "perpetual license."
Under termination, all kinds of creative workers who got royally screwed at the start of their careers were able to get their copyrights back and re-sell them. The primary beneficiaries of termination are musicians, who signed notoriously shitty contracts in the 1950s-1980s:
https://pluralistic.net/2021/09/26/take-it-back/
When Mitch Glazier snuck a termination-destroying clause into legislation, he set the stage for the poorest, most abused, most admired musicians in recording history to lose access to money that let them buy a couple bags of groceries and make the rent. He condemned these beloved musicians to poverty.
What happened next is something of a Smurfs Family Christmas miracle. Musicians were so outraged by this ripoff, and their fans were so outraged on their behalf, that Congress convened a special session solely to repeal the clause that Mitch Glazier tricked them into voting for. Shortly thereafter, Glazier was out of Congress:
https://en.wikipedia.org/wiki/Mitch_Glazier
But this story has a happy ending for Glazier, too – he might have been out of his government job, but he had a new gig, as CEO of the Recording Industry Association of America, where he earns more than $1.3 million/year to carry on the work he did in Congress – serving the interests of the record labels:
https://projects.propublica.org/nonprofits/organizations/131669037
Mitch Glazier serves the interests of the labels, not musicians. He can't serve both interests, because every dime a musician takes home is a dime that the labels don't get to realize as profits. Labels and musicians are class enemies. The fact that many musicians are on the labels' side when they sue AI companies does not mean that the labels are on the musicians' side.
What will the media companies do if they win their lawsuits? Glazier gives us the answer in the opening sentence of his press release: they will create "partnerships" with AI companies to train models on the work we produce.
This is the lesson of the past 40 years of copyright expansion. For 40 years, we have expanded copyright in every way: copyright lasts longer, covers more works, prohibits more uses without licenses, establishes higher penalties, and makes it easier to win those penalties.
Today, the media industry is larger and more profitable than at any time, and the share of those profits that artists take home is smaller than ever.
How has the expansion of copyright led to media companies getting richer and artists getting poorer? That's the question that Rebecca Giblin and I answer in our 2022 book Chokepoint Capitalism. In a nutshell: in a world of five publishers, four studios, three labels, two app companies and one company that controls all ebooks and audiobooks, giving a creative worker more copyright is like giving your bullied kid extra lunch money. It doesn't matter how much lunch money you give that kid – the bullies will take it all, and the kid will go hungry:
https://pluralistic.net/2022/08/21/what-is-chokepoint-capitalism/
Indeed, if you keep giving that kid more lunch money, the bullies will eventually have enough dough that they'll hire a fancy ad-agency to blitz the world with a campaign insisting that our schoolkids are all going hungry and need even more lunch money (they'll take that money, too).
When Mitch Glazier – who got a $1m+/year job for the labels after attempting to pauperize musicans – writes on behalf of Disney in support of a copyright suit to establish that copyright prevents training a model without a license, he's not defending creative workers. Disney, after all, is the company that takes the position that if it buys another company, like Lucasfilm or Fox, that it only acquires the right to use the works we made for those companies, but not the obligation to pay us when they do:
https://pluralistic.net/2021/04/29/writers-must-be-paid/#pay-the-writer
If a new, unambiguous copyright over model training comes into existence – whether through a court precedent or a new law – then all our contracts will be amended to non-negotiably require us to assign that right to our bosses. And our bosses will enter into "partnerships" to train models on our works. And those models will exist for one purpose: to let them create works without paying us.
The market concentration that lets our bosses dictate terms to us is getting much worse, and it's only speeding up. Getty Images – who sued Stability AI over image generation – is merging with Shutterstock:
https://globalcompetitionreview.com/gcr-usa/article/photographers-alarmed-gettyshutterstock-merger
And Paramount is merging with Warners:
https://pluralistic.net/2026/02/28/golden-mean/#reality-based-community
This is where this new Supreme Court action comes in. A new copyright that covers training is just one more thing these increasingly powerful members of this increasingly incestuous cartel can force us to sign away. That new copyright isn't something for us to bargain with, it's something we'll bargain away.
But the fact that the works that a model produces are automatically in the public domain is something we can't bargain away. It's a legal fact, not a legal right. It means that the more humans there are involved in the creation of a final work, the more copyrightable that work is.
Media bosses love AI because it dangles the tantalizing possibility of running a business without ego-shattering confrontations with creative workers who know how to do things. It's the solipsistic fantasy of a world without workers, in which a media boss conceives of a "product," prompts a sycophantic AI, and receives an item that's ready for sale:
https://pluralistic.net/2026/01/05/fisher-price-steering-wheel/#billionaire-solipsism
Many bosses know this isn't within reach. They imagine that they'll get the AI to shit out a script and then pay a writer on the cheap to "polish" it. They think they'll get an AI to shit out a motion sequence, a still, or a 3D model and then pay a human artist pennies to put the "final touches" on it. But the Copyright Office's position is that only those human contributions are eligible for a copyright: a few editorial changes, a few pixels or vectors rearranged. Everything else is in the public domain.
Here's the cool part: the only thing our bosses hate more than paying us is when other people take their stuff without paying for it. To achieve the kind of control they demand, they will have to pay us to make creative works.
What's more, the fact that AI-generated works are in the public domain leaves a lot of uses that don't harm creative workers intact. You can amuse yourself and your friends with all the AI slop you can generate; the fact that it's not copyrightable doesn't matter to that use. I happen to think AI "art" is shit, but you do you:
https://pluralistic.net/2024/05/13/spooky-action-at-a-close-up/#invisible-hand
This also means that if you're a writer who likes to brainstorm with a chatbot as you develop an idea, that's fine, so long as the AI's words don't end up in the final product. Creative workers already assemble "mood boards" and clippings for inspiration – so long as these aren't incorporated into the final work, that's fine.
That's just what the Hollywood writers bargained for in their historic strike over AI. They retained the right to use AI if they wanted to, but their bosses couldn't force them to:
https://pluralistic.net/2023/10/01/how-the-writers-guild-sunk-ais-ship/
The Writers Guild were able to bargain with the heavily concentrated studios because they are organized in a union. Not just any union, either: the Writers Guild (along with the other Hollywood unions) are able to undertake "sectoral bargaining" – that's when a union can negotiate a contract with all the employers in a sector at once.
Sectoral bargaining was once the standard for labor relations, but it was outlawed in the 1947 Taft-Hartley Act, which clawed back many of the important labor rights established with the New Deal's National Labor Relations Act. To get Taft-Hartley through Congress, its authors had to compromise by grandfathering in the powerful Hollywood unions, who retained their right to sectoral bargaining. More than 75 years later, that sectoral bargaining right is still protecting those workers.
Our bosses tell us that we should side with them in demanding a new law: a copyright law that covers training an AI model. The mere fact that our bosses want this should set off alarm bells. Just because we're on their side, it doesn't mean they're on our side. They are not.
If we're going to use our muscle to fight for a new law, let it be a sectoral bargaining law – one that covers all workers. You can tell that this would be good for us because our bosses would hate it, and every other worker in America would love it. The Writers Guild used sectoral bargaining to achieve something that 40 years of copyright expansion failed at: it made creative workers richer, rather than giving us another way to be angry about how our work is being used.
(Image: Cryteria, CC BY 3.0, modified)

Publish Your Threat Models! https://arxiv.org/pdf/2511.08295
What You Won’t See at the Live Nation–Ticketmaster Trial https://prospect.org/2026/03/02/justice-department-live-nation-ticketmaster-antitrust-trial/
Why I'm running to be Director General of the BBC https://www.absurdintelligence.com/why-im-running-to-be-director-general-of-the-bbc/
#20yrsago Cornell University harasses maker of Cornell blog https://web.archive.org/web/20060621110535/http://cornell.elliottback.com/archives/2006/03/02/cornell-university-nastygram/
#15yrsago Explaining creativity to a Martian https://locusmag.com/feature/cory-doctorow-explaining-creativity-to-a-martian/
#15yrsago Scott Walker smuggles ringers into the capital for the legislative session https://www.theawl.com/2011/03/in-madison-scott-walker-packed-his-budget-address-with-ringers/
#15yrsago Measuring radio’s penetration in 1936 https://www.flickr.com/photos/70118259@N00/albums/72157626051208969/with/5490099786
#10yrsago Rube Goldberg musical instrument that runs on 2,000 steel ball-bearings https://www.youtube.com/watch?v=IvUU8joBb1Q
#10yrsago KKK vs D&D: the surprising, high fantasy vocabulary of racism https://en.wikipedia.org/wiki/Ku_Klux_Klan_titles_and_vocabulary
#10yrsago UK minister compares adblocking to piracy, promises action https://www.theguardian.com/media/2016/mar/02/adblocking-protection-racket-john-whittingdale
#10yrsago Some ad-blockers are tracking you, shaking down publishers, and showing you ads https://www.wired.com/2016/03/heres-how-that-adblocker-youre-using-makes-money/
#10yrsago ISIS opsec: jihadi tech bureau recommends non-US crypto tools https://web.archive.org/web/20160303095904/http://www.dailydot.com/politics/isis-apple-fbi-congressional-hearing-crypto-international/
#10yrsago Apple v FBI isn’t about security vs privacy; it’s about America’s security vs FBI surveillance https://www.wired.com/2016/03/feds-let-cyber-world-burn-lets-put-fire/

Victoria: Enshittification at Russell Books, Mar 4
https://www.eventbrite.ca/e/cory-doctorow-is-coming-to-victoria-tickets-1982091125914
Barcelona: Enshittification with Simona Levi/Xnet (Llibreria
Finestres), Mar 20
https://www.llibreriafinestres.com/evento/cory-doctorow/
Berkeley: Bioneers keynote, Mar 27
https://conference.bioneers.org/
Montreal: Bronfman Lecture (McGill) Apr 10
https://www.eventbrite.ca/e/artificial-intelligence-the-ultimate-disrupter-tickets-1982706623885
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
The Lost Cause
https://streets.mn/2026/03/02/book-club-the-lost-cause/
Should Democrats Make A Nuremberg Caucus? (Make It Make
Sense)
https://www.youtube.com/watch?v=MWxKrnNfrlo
Making The Internet Suck Less (Thinking With Mitch Joel)
https://www.sixpixels.com/podcast/archives/making-the-internet-suck-less-with-cory-doctorow-twmj-1024/
Panopticon :3 (Trashfuture)
https://www.patreon.com/posts/panopticon-3-150395435
"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 (1020 words today, 41284 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
The Big Idea: Kirsten Kaschock [Whatever]

Does a mad scientist do what they do out of sheer love of the game, or because they can’t just up and quit doing the whole mad science thing? Do they love their work, or is it just unhealthy obsession? Author Kirsten Kaschock looks at some of fiction’s most well-known inventors in the Big Idea for her newest novel, An Impossibility of Crows, drawing parallels between herself, her main character, and all the truly mad creators of the past.
KIRSTEN KASCHOCK:
A crow the size of a horse.
The dream terrified me but not the way you’d think. I was drawn in. A little hypnotized. Even in the dream I wanted to understand how the thing came into being. And, in the dream, the crow wasn’t threatening me—just doing crow things.
The crow kept coming back, not at night, but in my wandering mind or whenever I saw an actual crow. I’d look at one walking in the snow or huddled in a tree and think to myself, “What if?” That’s when I started sketching the crow’s maker: Agnes Krahn.
I needed to know who would decide to build (I often call it building rather than breeding for reasons I can’t quite explain) a crow of such size and why? To figure that out, I started writing as if I were Agnes—a scientist, of course—commenting on her world in real time. The book had to be a diary. But because she was a scientist, an ex-chemist to be exact, Agnes also included her research in these pages. And then, other odds and ends kept arriving, including letters from Agnes’s long dead mother. It wasn’t until that moment that I realized that the book would be so closely linked to Mary Shelley’s Frankenstein—which is also epistolary and multivocal. But there was already a marked difference. Agnes, unlike Victor Frankenstein, is a woman.
How many other unhinged women scientists have found their way into literature? Fewer, I’d wager than their male counterparts. I imagined Agnes’s reasons for building Solo (the crow’s name is Solo) to be different than most of the mad scientists’ I have read, and more like Mary Shelley’s own backstory: never knowing her own mother, her loss of a child, a need to prove herself to the poets among which she found herself.
I knew Agnes wasn’t driven by ego or ambition, exactly. She isn’t selfless either. God no. But her obsession with increasing the size of the bird has a reason other than narcissism: she wants to provide her daughter with wings.
This is where Agnes and the character of Victor F. part ways. When I realized why Agnes was building Solo, she started to resemble other creators from other stories.
Agnes wants to give her daughter this crow, but what her daughter thinks or feels about this is irrelevant. Agnes is trying to provide an escape route for someone who—I learned while writing her—does not feel particularly trapped. But Agnes is oblivious to how her daughter perceives herself. In this way, Agnes is as monstrous as most mothers.
The model I used for their relationship is actually that of a father and son—Daedalus and Icarus. I’ve long loved this Greek myth, although it was taught to me as a tragedy of disobedience: warned about the dangers of flight, Icarus cannot help but fly too close to the sun. But what if the fault lies with Daedalus, who should have known his child better? In my novel, Agnes does not know her daughter at all. This is both their tragedy and another mystery I had to solve: Why doesn’t she? Writing a Gothic Horror novel turned into a bit of a rabbit hole… a Russian doll. The book kept asking me why things are the way they are. Why people do the things they do. And at the bottom of every version of Agnes I found another woman, another layer of hurt.
To be honest, this is why I write in the first place. To get to the under-questions, the ones below the surfaces of thought.
Solo, the crow, is in some ways a cipher: a darkness onto which I was reading human nature. But Solo is also very real. He is an immense crow, with all the intelligence of a crow (maybe more), and thus he is horrifying in his own right. That’s how we read each other, too. We know people as what they are to us, and only if we are incredibly lucky and attentive do we ever learn who they are beyond our needs, fears, and desires of them.
Agnes is the only one in the book who doesn’t see Solo as an existential threat, or not until it is too late. She may not admit it to herself, but as she builds him—he grows into a replacement for her daughter rather than a gift to her. She is Mary Shelley. She is Victor Frankenstein. She is Daedalus. And she is Gepetto. As she gets more and more drawn into her experiment, her attention to her family wanes and her devotion to the crow increases. I, myself, am married to a scientist. I am an artist. We have both done this with our work. We do this. Agnes is also him. And she is me.
Her madness I am familiar with: Agnes wants to create a life larger than her own. Somehow, she believes that Solo can free her from her guilt and grief.
The big idea in An Impossibility of Crows is this: when you bury your feelings they don’t stay dead—and when they rise up, they may find a form beyond any you can hope to control. I began writing with a single frightening image. I moved quickly from there to considering the crow’s creator. Then, in seeking to understand Agnes, I progressed through a series of models towards my own reasons for making.
I had a teacher once who said that writers only write about three things: sex, death, and writing. And then there’s this old joke: if it’s not one thing, it’s your mother. I think many things can be true at once. Nothing is ever Solo. And everything is.
—-
An Impossibility of Crows: Amazon|Barnes & Noble|Bookshop
Slog AM: Our War With Iran Spirals, Clintons Questioned About Epstein, British Columbia Adopts Permanent Daylight Saving [The Stranger]
The Stranger's morning news roundup. by Vivian McCall
Iran: Israel and US strikes have killed 787 people in Iran. Washington warned the “hardest hits” are to come. What? Combined forces have already killed Supreme Leader Ali Khamenei, hit the state broadcaster, and damaged Golestan Palace in Tehran, a UNESCO World Heritage Site. Overnight, the US and Israel bombed Tehran. This morning, Iran struck the US Embassy in Saudi Arabia; Israel hit Beirut, Lebanon in answer to yesterday’s strikes from the Iranian-backed Hezbollah. The US and Israel say this descending spiral into wider war is necessary to end Iran’s nuclear ambitions.
What did a girl’s school have to do with those nuclear ambitions? The roof collapsed when missiles hit Shajareh Tayyebeh (The Good Tree) on Saturday, killing 165 and wounding 95, according to Iranian media. Social media accounts and websites linked to Israel claimed the school was part of an “Islamic Revolutionary Guard Corps base.” However, a report from Al Jazeera’s digital investigations unit determined the school had been clearly separate from the adjacent military site for at least a decade, throwing into question the accuracy of the intelligence that led to this bombing.
New Bus News: Sound Transit broke ground on the Stride S3 line, a rapid bus line connecting the north end of Lake Washington from Bothell to Shoreline, writes The Urbanist. The S3 is one of three lines under construction, upgrades to existing express routes. Doors are expected to pop open in 2028. See? The suburbs can have nice things, too.
Behind in Getting Ahead: British Columbia is adopting permanent daylight saving time on March 8. We’ll be in sync with Vancouver until November 1, when we fall back an hour once again. We want the same—Washington passed that law in 2019—but we need Congressional approval. British Columbia has had the ability to do this since 2019, and has been dutifully waiting for us, but nobody can wait forever with all these “recent actions from the US” going on.
Candidate Alert: Ordained minister, community organizer and Lavender Rights Project executive director Jaelynn Scott is running for a seat in the state house. The opportunity came by way of musical chairs: When State Sen. Rebecca Saldaña announced her run for King County Council, 37th District Rep. Chipalo Street told the Washington State Standard he was running for her seat, leaving his own vacant. Micah interviewed Scott ahead of her announcement.
Where’s Rep. The Lorax? Budget legislation in the House could dismantle a state program to plant and sustain trees in Washington.
Epstein Intrigue: The House Oversight Committee released video of the Clintons testifying in closed door depositions for its Epstein investigation. Did they burst this thing wide open? No.
Bill: Bill described his relationship with Epstein, the convicted sex offender and “information-hungry person,” as “cordial,” not a true friendship (though who would admit to that now?). During questioning, he recalled talking with Trump about Epstein at one of the president’s golf courses about 20 years ago (Trump told Bill they’d fallen out over a property deal). Bill Clinton is the first former president forced to testify in Congress, which Democrats hope will set a precedent that makes it easier to call President Trump to the stand. But, when asked if Trump should testify, Bill replied “that’s for you to decide,” adding nothing Trump said to him made him think Trump was involved in anything “improper.” Bill did not, however, “exonerate” Trump as Rep. James R. Comer of Kentucky claimed.
Hillary: Rep. Nancy Mace, the transphobe from South Carolina, took the lead questioning Hillary, who considered the deposition over a person “that I don’t believe I ever even met” a waste of her time. Mace pressed Hillary for her feelings about photos in the Epstein files of her husband with young women. “I am not going to speculate,” Hillary responded. Rep. Lauren Boebert, the fool from Colorado, pressed Hillary about Pizzagate, the 2015 conspiracy theory that Democrats were running a child sex ring in the basement of a D.C. pizzeria that inspired a man to “investigate” with his AR-15 in hand, firing several shots. Hillary said she couldn’t believe Boebert was mentioning it. (I can—she’s Lauren Boebert? Besides, pizzagate is piping hot at the moment. The Epstein files contain 900 odd references to pizza.)
Deadliest Catch Star Dead at 25: Todd Meadows, the newest deckhand aboard the Aleutian Lady, died while filming the show on the Bering Sea. Captain Rick Shelford announced Meadows’ death on Facebook yesterday, writing that it was the most tragic day in the crabbing boat’s history. Meadows had three sons.
Fire: About 40 people were displaced when an apartment building caught fire in Everett yesterday morning.
Ida-Holy Shit: Republican Governor Brad Little cares little for the disabled people in his state. After Trump’s Big Beautiful cuts to Medicaid, Little released a budget that would all but dissolve home care for people with disabilities. Home care is not a luxury, it is a need. Meanwhile, Idaho legislators want to make it a crime for any organization to help undocumented immigrants, churches included. Next on the agenda, puppy mills that really mill puppies.
Let the monthslong stomachache commence. Primaries for midterms in Texas, North Carolina, and Arkansas are underway. For some reason, the Associated Press is teaming up with the prediction market site Kalshi so people can bet on the outcome. Kalshi struck a similar deal to become CNN’s “official prediction market partner” in December. Surely, this can only be good for democracy.
Wet: Rain is pitter-pattering between 10 a.m. and 4 p.m., followed by one mysterious hour of patchy fog. Tonight, more rain. Tomorrow, even more rain. Thursday, you guessed it, rain. Friday? Rain again. Saturday and Sunday, rain is likely, but not for sure. Monday, rain, straight-up.
CBP Tapped Into the Online Advertising Ecosystem To Track Peoples’ Movements (404 Media) [LWN.net]
This 404 Media article looks at how the US Customs and Border Protection agency (CBP) is using location data from phones to track the location of people of interest.
Specifically, CBP says the data was in part sourced via real-time bidding, or RTB. Whenever an advertisement is displayed inside an app, a near instantaneous bidding process happens with companies vying to have their advert served to a certain demographic. A side effect of this is that surveillance firms, or rogue advertising companies working on their behalf, can observe this process and siphon information about mobile phones, including their location. All of this is essentially invisible to an ordinary phone user, but happens constantly.
We should note that the minimal advertising shown on LWN is not delivered via this bidding system.
EFF to Supreme Court: Shut Down Unconstitutional Geofence Searches [Deeplinks]
WASHINGTON, D.C. – The Electronic Frontier Foundation (EFF), the American Civil Liberties Union (ACLU), the ACLU of Virginia, and the Center on Privacy & Technology at Georgetown Law filed a brief Monday urging the U.S. Supreme Court to rule that invasive geofence warrants are unconstitutional.
The brief argues that geofence warrants—which compel companies to provide information on every electronic device in a given area during a given time period—are the digital version of the exploratory rummaging that the drafters of the Fourth Amendment specifically intended to prevent.
Unlike typical warrants, geofence warrants do not name a suspect or even target a specific individual or device. Instead, police cast a digital dragnet, demanding location data on every device in a geographic area during a certain time period, regardless of whether the device owner has any connection to the crime under investigation. These searches simultaneously impact the privacy of millions and turn innocent bystanders into suspects, just for being in the wrong place at the wrong time.
The Supreme Court agreed earlier this year to hear Chatrie v. United States, in which a 2019 geofence warrant compelled Google to search the accounts of all its hundreds of millions of users to see if any one of them was within a radius police drew around a Northern Virginia crime scene. This area amounted to several football fields in size and encompassed numerous homes, businesses, and a church. In an amicus brief filed Monday, the brief argues that allowing this sweeping power to go unchecked is inconsistent with the basic freedoms of a democratic society.
"This is not traditional police work, but rather the leveraging of new and powerful technology to claim a novel and formidable power over the people," the brief states. "By their very nature, geofence searches turn innocent bystanders into suspects and leverage even purportedly limited searches into larger dragnets, causing intrusions at a scale far beyond those held unconstitutional in the physical world."
The brief also cautioned the Court not to authorize future geofence warrants based on the facts of the Chatrie case, which reflect how such searches were conducted in 2019. Since July 2025, mass geofence searches of Google users’ location data have not been possible. However, Google is not the only company collecting location data, nor the only way for police to access mass amounts of data on people with no connection to a crime. All suspicionless searches drag a net through vast swaths of information in hopes of identifying previously unknown suspects—ensnaring innocent bystanders along the way.
"To courts, to lawmakers, and to tech companies themselves, EFF has repeatedly argued that these high-tech efforts to pull suspects out of thin air cannot be constitutional, even with a warrant," said EFF Surveillance Litigation Director Andrew Crocker. "The Supreme Court should find once and for all that geofence searches are just the kind of impermissible general warrants that the Framers of the Constitution so reviled."
For the brief: https://www.eff.org/document/chatrie-v-united-states-eff-supreme-court-amicus-brief
I asked Claude.ai to "write me a nice little spreadsheet
program that runs in the browser." Here it is. It looks
like a spreadsheet app but it's missing most of the really good
commands, like defining the value in one cell with the sum of two
other cells using point and click. If you go down this path, ask it
to keep a user's guide current, and then ask it to put in features,
and just describe them in standard spreadsheet terminology. The
trouble starts when you want to make something that doesn't have a
standard terminology yet because it's new.
[$] Free software needs free tools [LWN.net]
One of the contradictions of the modern open-source movement is that projects which respect user freedoms often rely on proprietary tools that do not: communities often turn to non-free software for code hosting, communication, and more. At Configuration Management Camp (CfgMgmtCamp) 2026, Jan Ainali spoke about the need for open-source projects to adopt open tools; he hoped to persuade new and mature projects to switch to open alternatives, even if just one tool, to reduce their dependencies on tech giants and support community-driven infrastructure.
Garrett: To update blobs or not to update blobs [LWN.net]
Matthew Garrett examines the factors that go into the decision about whether to install a firmware update or not.
I trust my CPU vendor. I don't trust my CPU vendor because I want to, I trust my CPU vendor because I have no choice. I don't think it's likely that my CPU vendor has designed a CPU that identifies when I'm generating cryptographic keys and biases the RNG output so my keys are significantly weaker than they look, but it's not literally impossible. I generate keys on it anyway, because what choice do I have? At some point I will buy a new laptop because Electron will no longer fit in 32GB of RAM and I will have to make the same affirmation of trust, because the alternative is that I just don't have a computer.
Security updates for Tuesday [LWN.net]
Security updates have been issued by AlmaLinux (containernetworking-plugins, gnutls, kernel, libpng, and skopeo), Debian (firefox-esr, php8.2, and spip), Fedora (erlang and python-pillow), Red Hat (go-toolset:rhel8, golang, and yggdrasil), SUSE (cups, fluidsynth, gvfs, haproxy, libsoup, libsoup-3_0-0, mozilla-nss, python-azure-core, and shim), and Ubuntu (git and mailman).
Radar Trends to Watch: March 2026 [Radar]
The explosion of interest in OpenClaw was one of the last items added to the February 1 trends. In February, things went crazy. We saw a social network for agents (no humans allowed, though they undoubtedly sneak on); a multiplayer online game for agents (again, no humans); many clones of OpenClaw, most of which attempt to mitigate its many security problems; and much more. Andrej Karpathy has said that OpenClaw is the next layer on top of AI agents. If the security issues can be resolved (which is a good question), he’s probably right.
CodeSOD: Blocked Up [The Daily WTF]
Agatha has inherited some Windows Forms code. This particular batch of such code falls into that delightful category of code that's wrong in multiple ways, multiple times. The task here is to disable a few panels worth of controls, based on a condition. Or, since this is in Spanish, "bloquear controles". Let's see how they did it.
private void BloquearControles()
{
bool bolBloquear = SomeConditionTM; // SomeConditionTM = a bunch of stuff. Replaced for clarity.
// Some code. Removed for clarity.
// private System.Windows.Forms.Panel pnlPrincipal;
foreach (Control C in this.pnlPrincipal.Controls)
{
if (C.GetType() == typeof(System.Windows.Forms.TextBox))
{
C.Enabled = bolBloquear;
}
if (C.GetType() == typeof(System.Windows.Forms.ComboBox))
{
C.Enabled = bolBloquear;
}
if (C.GetType() == typeof(System.Windows.Forms.CheckBox))
{
C.Enabled = bolBloquear;
}
if (C.GetType() == typeof(System.Windows.Forms.DateTimePicker))
{
C.Enabled = bolBloquear;
}
if (C.GetType() == typeof(System.Windows.Forms.NumericUpDown))
{
C.Enabled = bolBloquear;
}
}
// private System.Windows.Forms.GroupBox grpProveedor;
foreach (Control C1 in this.grpProveedor.Controls)
{
if (C1.GetType() == typeof(System.Windows.Forms.TextBox))
{
C1.Enabled = bolBloquear;
}
if (C1.GetType() == typeof(System.Windows.Forms.ComboBox))
{
C1.Enabled = bolBloquear;
}
if (C1.GetType() == typeof(System.Windows.Forms.CheckBox))
{
C1.Enabled = bolBloquear;
}
if (C1.GetType() == typeof(System.Windows.Forms.DateTimePicker))
{
C1.Enabled = bolBloquear;
}
if (C1.GetType() == typeof(System.Windows.Forms.NumericUpDown))
{
C1.Enabled = bolBloquear;
}
}
// private System.Windows.Forms.GroupBox grpDescuentoGeneral;
foreach (Control C2 in this.grpDescuentoGeneral.Controls)
{
if (C2.GetType() == typeof(System.Windows.Forms.TextBox))
{
C2.Enabled = bolBloquear;
}
if (C2.GetType() == typeof(System.Windows.Forms.ComboBox))
{
C2.Enabled = bolBloquear;
}
if (C2.GetType() == typeof(System.Windows.Forms.CheckBox))
{
C2.Enabled = bolBloquear;
}
if (C2.GetType() == typeof(System.Windows.Forms.DateTimePicker))
{
C2.Enabled = bolBloquear;
}
if (C2.GetType() == typeof(System.Windows.Forms.NumericUpDown))
{
C2.Enabled = bolBloquear;
}
}
// Some more code. Removed for clarity.
}
This manages two group boxes and a panel. It checks a condition, then iterates across every control beneath it, and sets their enabled property on the control. In order to do this, it checks the type of the control for some reason.
Now, a few things: every control inherits from the base
Control class, which has an Enabled
property, so we're not doing this check to make sure the property
exists. And every built-in container control automatically
passes its enabled/disabled state to its child controls. So there's
a four line version of this function where we just set the enabled
property on each container.
This leaves us with two possible explanations. The first, and most likely, is that the developer responsible just didn't understand how these controls worked, and how inheritance worked, and wrote this abomination as an expression of that ignorance. This is extremely plausible, extremely likely, and honestly, our best case scenario.
Because our worse case scenario is that this code's job isn't to disable all of the controls. The reason they're doing type checking is that there are some controls used in these containers that don't match the types listed. The purpose of this code, then, is to disable some of the controls, leaving others enabled. Doing this by type would be a terrible way to manage that, and is endlessly confusing. Worse, I can't imagine how this behavior is interpreted by the end users; the enabling/disabling of controls following no intuitive pattern, just filtered based on the kind of control in use.
The good news is that Agatha can point us towards the first option. She adds:
They decided to not only disable the child controls one by one but to check their type and only disable those five types, some of which aren't event present in the containers. And to make sure this was WTF-worthy the didn't even bother to use else-if so every type is checked for every child control
She also adds:
At this point I'm not going to bother commenting on the use of
GetType() == typeof()instead ofisto do the type checking.
Bad news, Agatha: you did bother commenting. And even if you didn't, don't worry, someone would have.
On Moltbook [Schneier on Security]
The MIT Technology Review has a good article on Moltbook, the supposed AI-only social network:
Many people have pointed out that a lot of the viral comments were in fact posted by people posing as bots. But even the bot-written posts are ultimately the result of people pulling the strings, more puppetry than autonomy.
“Despite some of the hype, Moltbook is not the Facebook for AI agents, nor is it a place where humans are excluded,” says Cobus Greyling at Kore.ai, a firm developing agent-based systems for business customers. “Humans are involved at every step of the process. From setup to prompting to publishing, nothing happens without explicit human direction.”
Humans must create and verify their bots’ accounts and provide the prompts for how they want a bot to behave. The agents do not do anything that they haven’t been prompted to do.
I think this take has it mostly right:
What happened on Moltbook is a preview of what researcher Juergen Nittner II calls “The LOL WUT Theory.” The point where AI-generated content becomes so easy to produce and so hard to detect that the average person’s only rational response to anything online is bewildered disbelief.
We’re not there yet. But we’re close.
The theory is simple: First, AI gets accessible enough that anyone can use it. Second, AI gets good enough that you can’t reliably tell what’s fake. Third, and this is the crisis point, regular people realize there’s nothing online they can trust. At that moment, the internet stops being useful for anything except entertainment.
Talk in Bern Switzerland [Richard Stallman's Political Notes]
Richard Stallman will speak on March 11 in Bern, Switzerland, for the Guild42 group, at Berner Fachhochschule, Brückenstrasse 73, 3005 Bern
Title: Free/Libre Software and Freedom, touching on how they relate to machine learning
An explanation of the issues of justice and injustice in distribution and running of software, and in use of computing services and dis-services, with discussion of how this relates to machine learning, including both Artificial Intelligence and Pretend Intelligence.
Location: Brückenstrasse 73, CH-3012 Bern, Room: Aula
Time: 17:30
As usual, the event will have around an hour of presentation and around an hour of Q&A.
Urgent: Block construction of deportation prison-warehouses [Richard Stallman's Political Notes]
US citizens: call on your state legislators to block construction of deportation prison-warehouses in your state.
See the instructions for how to sign this letter campaign without running any nonfree JavaScript code--not trivial, but not hard.
Urgent: Protect Vote by Mail [Richard Stallman's Political Notes]
US citizens: call on Protect Vote by Mail. Tell Congress to act now! Demand the USPS Restore Real-Time Postmarks.
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: CBS political censorship [Richard Stallman's Political Notes]
US citizens: call on CBS to stop engaging in political censorship to fawn at magat officials.
More information: https://www.theguardian.com/commentisfree/2026/feb/21/cbs-trump-anderson-cooper-stephen-colbert-paramount
Urgent: Tel IEA Ignore Chris Wright's threats [Richard Stallman's Political Notes]
Everyone: Tell the IEA: Ignore Chris Wright’s Threats, Follow the Science on Climate Change.
See the instructions for how to sign this letter campaign without running any nonfree JavaScript code--not trivial, but not hard.
Urgent: Campaign funds from Palantir [Richard Stallman's Political Notes]
US citizens: call on your congressional officials not to accept campaign funds from Palantir.
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: Stop deportation thug use of Palantir's surveillance [Richard Stallman's Political Notes]
US citizens: call on Congress to stop the deportation thug department from using Palantir's massive surveillance system to track and target immigrants.
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: Stop CBS yielding to magat bullying [Richard Stallman's Political Notes]
US citizens: call on CBS to stop yielding to magat bullying.
Urgent: block Nextstar-TEGNA merger [Richard Stallman's Political Notes]
US citizens: call on Congress and the FCC to protect local news, by blocking the Nexstar-TEGNA merger.
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: Fight to impeach Bondi [Richard Stallman's Political Notes]
US citizens: call on your congressional representatives to fight to impeach Bondi.
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: Stop next great recession [Richard Stallman's Political Notes]
US citizens: call on your representatives and senators to take action to stop the next great recession!
See the instructions for how to sign this letter campaign without running any nonfree JavaScript code--not trivial, but not hard.
Here is what I used as my letter text. I hope it inspires you.
The wrecker's henchmen at the Securities and Exchange Commission are laying the groundwork to bring back one of the core financial products that led to millions of foreclosures during the 2008 crash — even as economic and climate conditions make its return all the more destabilizing. The SEC is intended to act as Wall Street’s top regulator, but they want to do the opposite of their job. Then the megabanks will "need" another big bailout, and Republicans will eagerly give them one. Please fight hard to prevent this big theft.
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.
Michael Ablassmeier: pbsindex - file backup index [Planet Debian]
If you take backups using the proxmox-backup-client and you wondered what backup may include a specific file, the only way to find out is to mount the backup and search for the files.
For regular file backups, the Proxmox Backup Server frontend provides a pcat1 file for download, whose binary format is somewhat undocumented but actually includes a listing of the files backed up.
A Proxmox backup server datastore includes the same pcat1 file as blob index (.pcat1.didx). So to actually beeing able to tell which backup contains which files, one needs to:
1) Open the .pcat1.didx file and find out required blobs, see format documentation
2) Reconstruct the .pcat1 file from the blobs
3) Parse the pcat1 file and output the directory listing.
I’ve implemented this in pbsindex which lets you create a central file index for your backups by scanning a complete PBS datastore.
Lets say you want to have a file listing for a specific backup, use:
pbsindex --chunk-dir /backup/.chunks/ /backup/host/vm178/2026-03-02T10:47:57Z/catalog.pcat1.didx
didx uuid=7e4086a9-4432-4184-a21f-0aeec2b2de93 ctime=2026-03-02T10:47:57Z chunks=2 total_size=1037386
chunk[0] start=0 end=344652 size=344652 digest=af3851419f5e74fbb4d7ca6ac3bc7c5cbbdb7c03d3cb489d57742ea717972224
chunk[1] start=344652 end=1037386 size=692734 digest=e400b13522df02641c2d9934c3880ae78ebb397c66f9b4cf3b931d309da1a7cc
d ./usr.pxar.didx
d ./usr.pxar.didx/bin
l ./usr.pxar.didx/bin/Mail
f ./usr.pxar.didx/bin/[ size=55720 mtime=2025-06-04T15:14:05Z
f ./usr.pxar.didx/bin/aa-enabled size=18672 mtime=2025-04-10T15:06:25Z
f ./usr.pxar.didx/bin/aa-exec size=18672 mtime=2025-04-10T15:06:25Z
f ./usr.pxar.didx/bin/aa-features-abi size=18664 mtime=2025-04-10T15:06:25Z
l ./usr.pxar.didx/bin/apropos
It also lets you scan a complete datastore for all existing .pcat1.didx files and store the directory listings in a SQLite database for easier searching.
The gap between “I” and “no one” [Seth's Blog]
This is where empathy lies, and it’s an easy chasm to fall into.
“I can’t imagine eating durian ice cream,” is not the same as “no one likes durian ice cream.”
We fail as marketers, editors and project managers when we can’t find the empathy to bridge the gap. It’s a lovely shortcut to make things for yourself, to imagine that you are the client, the reader or the customer. But most of the time, you’re not.
“It’s not for me, but it might be for you.”
Matthew Garrett: To update blobs or not to update blobs [Planet Debian]

A lot of hardware runs non-free software. Sometimes that non-free software is in ROM. Sometimes it’s in flash. Sometimes it’s not stored on the device at all, it’s pushed into it at runtime by another piece of hardware or by the operating system. We typically refer to this software as “firmware” to differentiate it from the software run on the CPU after the OS has started1, but a lot of it (and, these days, probably most of it) is software written in C or some other systems programming language and targeting Arm or RISC-V or maybe MIPS and even sometimes x862. There’s no real distinction between it and any other bit of software you run, except it’s generally not run within the context of the OS3. Anyway. It’s code. I’m going to simplify things here and stop using the words “software” or “firmware” and just say “code” instead, because that way we don’t need to worry about semantics.
A fundamental problem for free software enthusiasts is that almost all of the code we’re talking about here is non-free. In some cases, it’s cryptographically signed in a way that makes it difficult or impossible to replace it with free code. In some cases it’s even encrypted, such that even examining the code is impossible. But because it’s code, sometimes the vendor responsible for it will provide updates, and now you get to choose whether or not to apply those updates.
I’m now going to present some things to consider. These are not in any particular order and are not intended to form any sort of argument in themselves, but are representative of the opinions you will get from various people and I would like you to read these, think about them, and come to your own set of opinions before I tell you what my opinion is.
THINGS TO CONSIDER
Does this blob do what it claims to do? Does it suddenly introduce functionality you don’t want? Does it introduce security flaws? Does it introduce deliberate backdoors? Does it make your life better or worse?
You’re almost certainly being provided with a blob of compiled code, with no source code available. You can’t just diff the source files, satisfy yourself that they’re fine, and then install them. To be fair, even though you (as someone reading this) are probably more capable of doing that than the average human, you’re likely not doing that even if you are capable because you’re also likely installing kernel upgrades that contain vast quantities of code beyond your ability to understand4. We don’t rely on our personal ability, we rely on the ability of those around us to do that validation, and we rely on an existing (possibly transitive) trust relationship with those involved. You don’t know the people who created this blob, you likely don’t know people who do know the people who created this blob, these people probably don’t have an online presence that gives you more insight. Why should you trust them?
If it’s in ROM and it turns out to be hostile then nobody can fix it ever
The people creating these blobs largely work for the same company that built the hardware in the first place. When they built that hardware they could have backdoored it in any number of ways. And if the hardware has a built-in copy of the code it runs, why do you trust that that copy isn’t backdoored? Maybe it isn’t and updates would introduce a backdoor, but in that case if you buy new hardware that runs new code aren’t you putting yourself at the same risk?
Designing hardware where you’re able to provide updated code and nobody else can is just a dick move5. We shouldn’t encourage vendors who do that.
Humans are bad at writing code, and code running on ancilliary hardware is no exception. It contains bugs. These bugs are sometimes very bad. This paper describes a set of vulnerabilities identified in code running on SSDs that made it possible to bypass encryption secrets. The SSD vendors released updates that fixed these issues. If the code couldn’t be replaced then anyone relying on those security features would need to replace the hardware.
Even if blobs are signed and can’t easily be replaced, the ones that aren’t encrypted can still be examined. The SSD vulnerabilities above were identifiable because researchers were able to reverse engineer the updates. It can be more annoying to audit binary code than source code, but it’s still possible.
Vulnerabilities in code running on other hardware can still compromise the OS. If someone can compromise the code running on your wifi card then if you don’t have a strong IOMMU setup they’re going to be able to overwrite your running OS.
Replacing one non-free blob with another non-free blob increases the total number of non-free blobs involved in the whole system, but doesn’t increase the number that are actually executing at any point in time.
Ok we’re done with the things to consider. Please spend a few seconds thinking about what the tradeoffs are here and what your feelings are. Proceed when ready.
I trust my CPU vendor. I don’t trust my CPU vendor because I want to, I trust my CPU vendor because I have no choice. I don’t think it’s likely that my CPU vendor has designed a CPU that identifies when I’m generating cryptographic keys and biases the RNG output so my keys are significantly weaker than they look, but it’s not literally impossible. I generate keys on it anyway, because what choice do I have? At some point I will buy a new laptop because Electron will no longer fit in 32GB of RAM and I will have to make the same affirmation of trust, because the alternative is that I just don’t have a computer. And in any case, I will be communicating with other people who generated their keys on CPUs I have no control over, and I will also be relying on them to be trustworthy. If I refuse to trust my CPU then I don’t get to computer, and if I don’t get to computer then I will be sad. I suspect I’m not alone here.
Why would I install a code update on my CPU when my CPU’s job is to run my code in the first place? Because it turns out that CPUs are complicated and messy and they have their own bugs, and those bugs may be functional (for example, some performance counter functionality was broken on Sandybridge at release, and was then fixed with a microcode blob update) and if you update it your hardware works better. Or it might be that you’re running a CPU with speculative execution bugs and there’s a microcode update that provides a mitigation for that even if your CPU is slower when you enable it, but at least now you can run virtual machines without code in those virtual machines being able to reach outside the hypervisor boundary and extract secrets from other contexts. When it’s put that way, why would I not install the update?
And the straightforward answer is that theoretically it could include new code that doesn’t act in my interests, either deliberately or not. And, yes, this is theoretically possible. Of course, if you don’t trust your CPU vendor, why are you buying CPUs from them, but well maybe they’ve been corrupted (in which case don’t buy any new CPUs from them either) or maybe they’ve just introduced a new vulnerability by accident, and also you’re in a position to determine whether the alleged security improvements matter to you at all. Do you care about speculative execution attacks if all software running on your system is trustworthy? Probably not! Do you need to update a blob that fixes something you don’t care about and which might introduce some sort of vulnerability? Seems like no!
But there’s a difference between a recommendation for a fully informed device owner who has a full understanding of threats, and a recommendation for an average user who just wants their computer to work and to not be ransomwared. A code update on a wifi card may introduce a backdoor, or it may fix the ability for someone to compromise your machine with a hostile access point. Most people are just not going to be in a position to figure out which is more likely, and there’s no single answer that’s correct for everyone. What we do know is that where vulnerabilities in this sort of code have been discovered, updates have tended to fix them - but nobody has flagged such an update as a real-world vector for system compromise.
My personal opinion? You should make your own mind up, but also you shouldn’t impose that choice on others, because your threat model is not necessarily their threat model. Code updates are a reasonable default, but they shouldn’t be unilaterally imposed, and nor should they be blocked outright. And the best way to shift the balance of power away from vendors who insist on distributing non-free blobs is to demonstrate the benefits gained from them being free - a vendor who ships free code on their system enables their customers to improve their code and enable new functionality and make their hardware more attractive.
It’s impossible to say with absolute certainty that your security will be improved by installing code blobs. It’s also impossible to say with absolute certainty that it won’t. So far evidence tends to support the idea that most updates that claim to fix security issues do, and there’s not a lot of evidence to support the idea that updates add new backdoors. Overall I’d say that providing the updates is likely the right default for most users - and that that should never be strongly enforced, because people should be allowed to define their own security model, and whatever set of threats I’m worried about, someone else may have a good reason to focus on different ones.
Code that runs on the CPU before the OS is still usually described as firmware - UEFI is firmware even though it’s executing on the CPU, which should give a strong indication that the difference between “firmware” and “software” is largely arbitrary ↩︎
Because UEFI makes everything more complicated, UEFI makes this more complicated. Triggering a UEFI runtime service involves your OS jumping into firmware code at runtime, in the same context as the OS kernel. Sometimes this will trigger a jump into System Management Mode, but other times it won’t, and it’s just your kernel executing code that got dumped into RAM when your system booted. ↩︎
I don’t understand most of the diff between one kernel version and the next, and I don’t have time to read all of it either. ↩︎
There’s a bunch of reasons to do this, the most reasonable of which is probably not wanting customers to replace the code and break their hardware and deal with the support overhead of that, but not being able to replace code running on hardware I own is always going to be an affront to me. ↩︎
| Feed | RSS | Last fetched | Next fetched after |
|---|---|---|---|
| @ASmartBear | XML | 00:35, Saturday, 07 March | 01:16, Saturday, 07 March |
| a bag of four grapes | XML | 00:35, Saturday, 07 March | 01:17, Saturday, 07 March |
| Ansible | XML | 00:35, Saturday, 07 March | 01:15, Saturday, 07 March |
| Bad Science | XML | 00:28, Saturday, 07 March | 01:17, Saturday, 07 March |
| Black Doggerel | XML | 00:35, Saturday, 07 March | 01:16, Saturday, 07 March |
| Blog - Official site of Stephen Fry | XML | 00:28, Saturday, 07 March | 01:17, Saturday, 07 March |
| Charlie Brooker | The Guardian | XML | 00:35, Saturday, 07 March | 01:17, Saturday, 07 March |
| Charlie's Diary | XML | 00:49, Saturday, 07 March | 01:37, Saturday, 07 March |
| Chasing the Sunset - Comics Only | XML | 00:28, Saturday, 07 March | 01:17, Saturday, 07 March |
| Coding Horror | XML | 00:49, Saturday, 07 March | 01:36, Saturday, 07 March |
| Cory Doctorow's craphound.com | XML | 00:35, Saturday, 07 March | 01:17, Saturday, 07 March |
| Cory Doctorow, Author at Boing Boing | XML | 00:35, Saturday, 07 March | 01:16, Saturday, 07 March |
| Ctrl+Alt+Del Comic | XML | 00:49, Saturday, 07 March | 01:37, Saturday, 07 March |
| Cyberunions | XML | 00:28, Saturday, 07 March | 01:17, Saturday, 07 March |
| David Mitchell | The Guardian | XML | 00:28, Saturday, 07 March | 01:11, Saturday, 07 March |
| Deeplinks | XML | 00:28, Saturday, 07 March | 01:12, Saturday, 07 March |
| Diesel Sweeties webcomic by rstevens | XML | 00:28, Saturday, 07 March | 01:11, Saturday, 07 March |
| Dilbert | XML | 00:28, Saturday, 07 March | 01:17, Saturday, 07 March |
| Dork Tower | XML | 00:35, Saturday, 07 March | 01:17, Saturday, 07 March |
| Economics from the Top Down | XML | 00:28, Saturday, 07 March | 01:11, Saturday, 07 March |
| Edmund Finney's Quest to Find the Meaning of Life | XML | 00:28, Saturday, 07 March | 01:11, Saturday, 07 March |
| EFF Action Center | XML | 00:28, Saturday, 07 March | 01:11, Saturday, 07 March |
| Enspiral Tales - Medium | XML | 00:28, Saturday, 07 March | 01:13, Saturday, 07 March |
| Events | XML | 00:49, Saturday, 07 March | 01:37, Saturday, 07 March |
| Falkvinge on Liberty | XML | 00:49, Saturday, 07 March | 01:37, Saturday, 07 March |
| Flipside | XML | 00:35, Saturday, 07 March | 01:17, Saturday, 07 March |
| Flipside | XML | 00:28, Saturday, 07 March | 01:13, Saturday, 07 March |
| Free software jobs | XML | 00:35, Saturday, 07 March | 01:15, Saturday, 07 March |
| Full Frontal Nerdity by Aaron Williams | XML | 00:49, Saturday, 07 March | 01:37, Saturday, 07 March |
| General Protection Fault: Comic Updates | XML | 00:49, Saturday, 07 March | 01:37, Saturday, 07 March |
| George Monbiot | XML | 00:28, Saturday, 07 March | 01:11, Saturday, 07 March |
| Girl Genius | XML | 00:28, Saturday, 07 March | 01:11, Saturday, 07 March |
| Groklaw | XML | 00:49, Saturday, 07 March | 01:37, Saturday, 07 March |
| Grrl Power | XML | 00:35, Saturday, 07 March | 01:17, Saturday, 07 March |
| Hackney Anarchist Group | XML | 00:28, Saturday, 07 March | 01:17, Saturday, 07 March |
| Hackney Solidarity Network | XML | 00:28, Saturday, 07 March | 01:13, Saturday, 07 March |
| http://blog.llvm.org/feeds/posts/default | XML | 00:28, Saturday, 07 March | 01:13, Saturday, 07 March |
| http://calendar.google.com/calendar/feeds/q7s5o02sj8hcam52hutbcofoo4%40group.calendar.google.com/public/basic | XML | 00:35, Saturday, 07 March | 01:15, Saturday, 07 March |
| http://dynamic.boingboing.net/cgi-bin/mt/mt-cp.cgi?__mode=feed&_type=posts&blog_id=1&id=1 | XML | 00:28, Saturday, 07 March | 01:13, Saturday, 07 March |
| http://eng.anarchoblogs.org/feed/atom/ | XML | 00:56, Saturday, 07 March | 01:42, Saturday, 07 March |
| http://feed43.com/3874015735218037.xml | XML | 00:56, Saturday, 07 March | 01:42, Saturday, 07 March |
| http://flatearthnews.net/flatearthnews.net/blogfeed | XML | 00:35, Saturday, 07 March | 01:16, Saturday, 07 March |
| http://fulltextrssfeed.com/ | XML | 00:28, Saturday, 07 March | 01:11, Saturday, 07 March |
| http://london.indymedia.org/articles.rss | XML | 00:49, Saturday, 07 March | 01:36, Saturday, 07 March |
| http://pipes.yahoo.com/pipes/pipe.run?_id=ad0530218c055aa302f7e0e84d5d6515&_render=rss | XML | 00:56, Saturday, 07 March | 01:42, Saturday, 07 March |
| http://planet.gridpp.ac.uk/atom.xml | XML | 00:49, Saturday, 07 March | 01:36, Saturday, 07 March |
| http://shirky.com/weblog/feed/atom/ | XML | 00:28, Saturday, 07 March | 01:12, Saturday, 07 March |
| http://thecommune.co.uk/feed/ | XML | 00:28, Saturday, 07 March | 01:13, Saturday, 07 March |
| http://theness.com/roguesgallery/feed/ | XML | 00:49, Saturday, 07 March | 01:37, Saturday, 07 March |
| http://www.airshipentertainment.com/buck/buckcomic/buck.rss | XML | 00:28, Saturday, 07 March | 01:17, Saturday, 07 March |
| http://www.airshipentertainment.com/growf/growfcomic/growf.rss | XML | 00:28, Saturday, 07 March | 01:12, Saturday, 07 March |
| http://www.airshipentertainment.com/myth/mythcomic/myth.rss | XML | 00:35, Saturday, 07 March | 01:17, Saturday, 07 March |
| http://www.baen.com/baenebooks | XML | 00:28, Saturday, 07 March | 01:12, Saturday, 07 March |
| 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 | 00:28, Saturday, 07 March | 01:12, Saturday, 07 March |
| http://www.godhatesastronauts.com/feed/ | XML | 00:49, Saturday, 07 March | 01:37, Saturday, 07 March |
| http://www.tinycat.co.uk/feed/ | XML | 00:35, Saturday, 07 March | 01:15, Saturday, 07 March |
| https://anarchism.pageabode.com/blogs/anarcho/feed/ | XML | 00:28, Saturday, 07 March | 01:12, Saturday, 07 March |
| https://broodhollow.krisstraub.comfeed/ | XML | 00:35, Saturday, 07 March | 01:16, Saturday, 07 March |
| https://debian-administration.org/atom.xml | XML | 00:35, Saturday, 07 March | 01:16, Saturday, 07 March |
| https://elitetheatre.org/ | XML | 00:49, Saturday, 07 March | 01:36, Saturday, 07 March |
| https://feeds.feedburner.com/Starslip | XML | 00:35, Saturday, 07 March | 01:17, Saturday, 07 March |
| https://feeds2.feedburner.com/GeekEtiquette?format=xml | XML | 00:28, Saturday, 07 March | 01:11, Saturday, 07 March |
| https://hackbloc.org/rss.xml | XML | 00:35, Saturday, 07 March | 01:16, Saturday, 07 March |
| https://kajafoglio.livejournal.com/data/atom/ | XML | 00:28, Saturday, 07 March | 01:17, Saturday, 07 March |
| https://philfoglio.livejournal.com/data/atom/ | XML | 00:49, Saturday, 07 March | 01:36, Saturday, 07 March |
| https://pixietrixcomix.com/eerie-cutiescomic.rss | XML | 00:49, Saturday, 07 March | 01:36, Saturday, 07 March |
| https://pixietrixcomix.com/menage-a-3/comic.rss | XML | 00:28, Saturday, 07 March | 01:12, Saturday, 07 March |
| https://propertyistheft.wordpress.com/feed/ | XML | 00:35, Saturday, 07 March | 01:15, Saturday, 07 March |
| https://requiem.seraph-inn.com/updates.rss | XML | 00:35, Saturday, 07 March | 01:15, Saturday, 07 March |
| https://studiofoglio.livejournal.com/data/atom/ | XML | 00:56, Saturday, 07 March | 01:42, Saturday, 07 March |
| https://thecommandline.net/feed/ | XML | 00:56, Saturday, 07 March | 01:42, Saturday, 07 March |
| https://torrentfreak.com/subscriptions/ | XML | 00:28, Saturday, 07 March | 01:11, Saturday, 07 March |
| https://web.randi.org/?format=feed&type=rss | XML | 00:28, Saturday, 07 March | 01:11, Saturday, 07 March |
| https://www.dcscience.net/feed/medium.co | XML | 00:28, Saturday, 07 March | 01:17, Saturday, 07 March |
| https://www.DropCatch.com/domain/steampunkmagazine.com | XML | 00:35, Saturday, 07 March | 01:16, Saturday, 07 March |
| https://www.DropCatch.com/domain/ubuntuweblogs.org | XML | 00:56, Saturday, 07 March | 01:42, Saturday, 07 March |
| https://www.DropCatch.com/redirect/?domain=DyingAlone.net | XML | 00:49, Saturday, 07 March | 01:36, Saturday, 07 March |
| https://www.freedompress.org.uk:443/news/feed/ | XML | 00:49, Saturday, 07 March | 01:37, Saturday, 07 March |
| https://www.goblinscomic.com/category/comics/feed/ | XML | 00:35, Saturday, 07 March | 01:15, Saturday, 07 March |
| https://www.loomio.com/blog/feed/ | XML | 00:56, Saturday, 07 March | 01:42, Saturday, 07 March |
| https://www.newstatesman.com/feeds/blogs/laurie-penny.rss | XML | 00:35, Saturday, 07 March | 01:16, Saturday, 07 March |
| https://www.patreon.com/graveyardgreg/posts/comic.rss | XML | 00:49, Saturday, 07 March | 01:36, Saturday, 07 March |
| 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 | 00:28, Saturday, 07 March | 01:11, Saturday, 07 March |
| https://x.com/statuses/user_timeline/22724360.rss | XML | 00:35, Saturday, 07 March | 01:15, Saturday, 07 March |
| Humble Bundle Blog | XML | 00:49, Saturday, 07 March | 01:36, Saturday, 07 March |
| I, Cringely | XML | 00:49, Saturday, 07 March | 01:37, Saturday, 07 March |
| Irregular Webcomic! | XML | 00:35, Saturday, 07 March | 01:16, Saturday, 07 March |
| Joel on Software | XML | 00:56, Saturday, 07 March | 01:42, Saturday, 07 March |
| Judith Proctor's Journal | XML | 00:35, Saturday, 07 March | 01:15, Saturday, 07 March |
| Krebs on Security | XML | 00:35, Saturday, 07 March | 01:16, Saturday, 07 March |
| Lambda the Ultimate - Programming Languages Weblog | XML | 00:35, Saturday, 07 March | 01:15, Saturday, 07 March |
| Looking For Group | XML | 00:28, Saturday, 07 March | 01:12, Saturday, 07 March |
| LWN.net | XML | 00:35, Saturday, 07 March | 01:16, Saturday, 07 March |
| Mimi and Eunice | XML | 00:28, Saturday, 07 March | 01:13, Saturday, 07 March |
| Neil Gaiman's Journal | XML | 00:35, Saturday, 07 March | 01:15, Saturday, 07 March |
| Nina Paley | XML | 00:49, Saturday, 07 March | 01:36, Saturday, 07 March |
| O Abnormal – Scifi/Fantasy Artist | XML | 00:28, Saturday, 07 March | 01:13, Saturday, 07 March |
| Oglaf! -- Comics. Often dirty. | XML | 00:49, Saturday, 07 March | 01:37, Saturday, 07 March |
| Oh Joy Sex Toy | XML | 00:28, Saturday, 07 March | 01:12, Saturday, 07 March |
| Order of the Stick | XML | 00:28, Saturday, 07 March | 01:12, Saturday, 07 March |
| Original Fiction Archives - Reactor | XML | 00:35, Saturday, 07 March | 01:17, Saturday, 07 March |
| OSnews | XML | 00:28, Saturday, 07 March | 01:13, Saturday, 07 March |
| Paul Graham: Unofficial RSS Feed | XML | 00:28, Saturday, 07 March | 01:13, Saturday, 07 March |
| Penny Arcade | XML | 00:35, Saturday, 07 March | 01:17, Saturday, 07 March |
| Penny Red | XML | 00:28, Saturday, 07 March | 01:13, Saturday, 07 March |
| PHD Comics | XML | 00:28, Saturday, 07 March | 01:17, Saturday, 07 March |
| Phil's blog | XML | 00:49, Saturday, 07 March | 01:37, Saturday, 07 March |
| Planet Debian | XML | 00:28, Saturday, 07 March | 01:13, Saturday, 07 March |
| Planet GNU | XML | 00:35, Saturday, 07 March | 01:16, Saturday, 07 March |
| Planet Lisp | XML | 00:28, Saturday, 07 March | 01:17, Saturday, 07 March |
| Pluralistic: Daily links from Cory Doctorow | XML | 00:35, Saturday, 07 March | 01:15, Saturday, 07 March |
| PS238 by Aaron Williams | XML | 00:49, Saturday, 07 March | 01:37, Saturday, 07 March |
| QC RSS | XML | 00:49, Saturday, 07 March | 01:36, Saturday, 07 March |
| Radar | XML | 00:35, Saturday, 07 March | 01:17, Saturday, 07 March |
| RevK®'s ramblings | XML | 00:56, Saturday, 07 March | 01:42, Saturday, 07 March |
| Richard Stallman's Political Notes | XML | 00:28, Saturday, 07 March | 01:17, Saturday, 07 March |
| Scenes From A Multiverse | XML | 00:49, Saturday, 07 March | 01:36, Saturday, 07 March |
| Schneier on Security | XML | 00:35, Saturday, 07 March | 01:15, Saturday, 07 March |
| SCHNEWS.ORG.UK | XML | 00:28, Saturday, 07 March | 01:12, Saturday, 07 March |
| Scripting News | XML | 00:35, Saturday, 07 March | 01:17, Saturday, 07 March |
| Seth's Blog | XML | 00:56, Saturday, 07 March | 01:42, Saturday, 07 March |
| Skin Horse | XML | 00:35, Saturday, 07 March | 01:17, Saturday, 07 March |
| Spinnerette | XML | 00:28, Saturday, 07 March | 01:12, Saturday, 07 March |
| Tales From the Riverbank | XML | 00:28, Saturday, 07 March | 01:17, Saturday, 07 March |
| The Adventures of Dr. McNinja | XML | 00:28, Saturday, 07 March | 01:13, Saturday, 07 March |
| The Bumpycat sat on the mat | XML | 00:35, Saturday, 07 March | 01:15, Saturday, 07 March |
| The Daily WTF | XML | 00:56, Saturday, 07 March | 01:42, Saturday, 07 March |
| The Monochrome Mob | XML | 00:35, Saturday, 07 March | 01:16, Saturday, 07 March |
| The Non-Adventures of Wonderella | XML | 00:28, Saturday, 07 March | 01:11, Saturday, 07 March |
| The Old New Thing | XML | 00:28, Saturday, 07 March | 01:12, Saturday, 07 March |
| The Open Source Grid Engine Blog | XML | 00:49, Saturday, 07 March | 01:36, Saturday, 07 March |
| The Stranger | XML | 00:28, Saturday, 07 March | 01:13, Saturday, 07 March |
| towerhamletsalarm | XML | 00:56, Saturday, 07 March | 01:42, Saturday, 07 March |
| Twokinds | XML | 00:35, Saturday, 07 March | 01:17, Saturday, 07 March |
| UK Indymedia Features | XML | 00:35, Saturday, 07 March | 01:17, Saturday, 07 March |
| Uploads from ne11y | XML | 00:56, Saturday, 07 March | 01:42, Saturday, 07 March |
| Uploads from piasladic | XML | 00:28, Saturday, 07 March | 01:11, Saturday, 07 March |
| Use Sword on Monster | XML | 00:49, Saturday, 07 March | 01:36, Saturday, 07 March |
| Wayward Sons: Legends - Sci-Fi Full Page Webcomic - Updates Daily | XML | 00:56, Saturday, 07 March | 01:42, Saturday, 07 March |
| what if? | XML | 00:35, Saturday, 07 March | 01:16, Saturday, 07 March |
| Whatever | XML | 00:28, Saturday, 07 March | 01:17, Saturday, 07 March |
| Whitechapel Anarchist Group | XML | 00:28, Saturday, 07 March | 01:17, Saturday, 07 March |
| WIL WHEATON dot NET | XML | 00:28, Saturday, 07 March | 01:12, Saturday, 07 March |
| wish | XML | 00:28, Saturday, 07 March | 01:13, Saturday, 07 March |
| Writing the Bright Fantastic | XML | 00:28, Saturday, 07 March | 01:12, Saturday, 07 March |
| xkcd.com | XML | 00:28, Saturday, 07 March | 01:11, Saturday, 07 March |