When they say AI is just autocomplete on steroids, that's like saying a human is just a product of carbon, hydrogen, nitrogen, oxygen, phosphorus and sulfur on steroids. It may be true, but it doesn't say anything useful. It's also like saying that a computer is just a collection of on and off switches.
Funny thing about yesterday's Supreme Court decision, if Texas goes ahead with their gerrymandering plan, it probably will backfire on them, cause them to lose a few seats instead of gain them. The news reports generally leave that out, probably figuring the sports fans who can understand the gambling on football and baseball couldn't understand that gerrymandering is a bet that you know which voters will turn out and who they'll vote for a year in the future. In fact NPR reports it as a victory for Repubs. Right now it looks very much like it is not.
I've come to see WordPress as an API with a widely deployed and stable implementation behind it, where the user is in control and developers can build apps without having to get into the storage-selling business.
[$] Eventual Rust in CPython [LWN.net]
Emma Smith and Kirill Podoprigora, two of Python's core developers, have opened a discussion about including Rust code in CPython, the reference implementation of the Python programming language. Initially, Rust would only be used for optional extension modules, but they would like to see Rust become a required dependency over time. The initial plan was to make Rust required by 2028, but Smith and Podoprigora indefinitely postponed that goal in response to concerns raised in the discussion.
Pluralistic: The Reverse-Centaur’s Guide to Criticizing AI (05 Dec 2025) [Pluralistic: Daily links from Cory Doctorow]
Last night, I gave a speech for the University of Washington's "Neuroscience, AI and Society" lecture series, through the university's Computational Neuroscience Center. It was called "The Reverse Centaur’s Guide to Criticizing AI," and it's based on the manuscript for my next book, "The Reverse Centaur’s Guide to Life After AI," which will be out from Farrar, Straus and Giroux next June:
The talk was sold out, but here's the text of my lecture. I'm very grateful to UW for the opportunity, and for a lovely visit to Seattle!
==
I'm a science fiction writer, which means that my job is to make up futuristic parables about our current techno-social arrangements to interrogate not just what a gadget does, but who it does it for, and who it does it to.
What I don't do is predict the future. No one can predict the future, which is a good thing, since if the future were predictable, that would mean that what we all do couldn't change it. It would mean that the future was arriving on fixed rails and couldn't be steered.
Jesus Christ, what a miserable proposition!
Now, not everyone understands the distinction. They think sf writers are oracles, soothsayers. Unfortunately, even some of my colleagues labor under the delusion that they can "see the future."
But for every sf writer who deludes themselves into thinking that they are writing the future, there are a hundred sf fans who believe that they are reading the future, and a depressing number of those people appear to have become AI bros. The fact that these guys can't shut up about the day that their spicy autocomplete machine will wake up and turn us all into paperclips has led many confused journalists and conference organizers to try to get me to comment on the future of AI.
That's a thing I strenuously resisted doing, because I wasted two years of my life explaining patiently and repeatedly why I thought crypto was stupid, and getting relentless bollocked by cryptocurrency cultists who at first insisted that I just didn't understand crypto. And then, when I made it clear that I did understand crypto, insisted that I must be a paid shill.
This is literally what happens when you argue with Scientologists, and life is Just. Too. Short.
So I didn't want to get lured into another one of those quagmires, because on the one hand, I just don't think AI is that important of a technology, and on the other hand, I have very nuanced and complicated views about what's wrong, and not wrong, about AI, and it takes a long time to explain that stuff.
But people wouldn't stop asking, so I did what I always do. I wrote a book.
Over the summer I wrote a book about what I think about AI, which is really about what I think about AI criticism, and more specifically, how to be a good AI critic. By which I mean: "How to be a critic whose criticism inflicts maximum damage on the parts of AI that are doing the most harm." I titled the book The Reverse Centaur's Guide to Life After AI, and Farrar, Straus and Giroux will publish it in June, 2026.
But you don't have to wait until then because I am going to break down the entire book's thesis for you tonight, over the next 40 minutes. I am going to talk fast.
#
Start with what a reverse centaur is. In automation theory, a "centaur" is a person who is assisted by a machine. You're a human head being carried around on a tireless robot body. Driving a car makes you a centaur, and so does using autocomplete.
And obviously, a reverse centaur is machine head on a human body, a person who is serving as a squishy meat appendage for an uncaring machine.
Like an Amazon delivery driver, who sits in a cabin surrounded by AI cameras, that monitor the driver's eyes and take points off if the driver looks in a proscribed direction, and monitors the driver's mouth because singing isn't allowed on the job, and rats the driver out to the boss if they don't make quota.
The driver is in that van because the van can't drive itself and can't get a parcel from the curb to your porch. The driver is a peripheral for a van, and the van drives the driver, at superhuman speed, demanding superhuman endurance. But the driver is human, so the van doesn't just use the driver. The van uses the driver up.
Obviously, it's nice to be a centaur, and it's horrible to be a reverse centaur. There are lots of AI tools that are potentially very centaur-like, but my thesis is that these tools are created and funded for the express purpose of creating reverse-centaurs, which is something none of us want to be.
But like I said, the job of an sf writer is to do more than think about what the gadget does, and drill down on who the gadget does it for and who the gadget does it to. Tech bosses want us to believe that there is only one way a technology can be used. Mark Zuckerberg wants you to think that it's technologically impossible to have a conversation with a friend without him listening in. Tim Cook wants you to think that it's technologically impossible for you to have a reliable computing experience unless he gets a veto over which software you install and without him taking 30 cents out of every dollar you spend. Sundar Pichai wants you think that it's impossible for you to find a webpage unless he gets to spy on you from asshole to appetite.
This is all a kind of vulgar Thatcherism. Margaret Thatcher's mantra was "There is no alternative." She repeated this so often they called her "TINA" Thatcher: There. Is. No. Alternative. TINA.
"There is no alternative" is a cheap rhetorical slight. It's a demand dressed up as an observation. "There is no alternative" means "STOP TRYING TO THINK OF AN ALTERNATIVE." Which, you know, fuck that.
I'm an sf writer, my job is to think of a dozen alternatives before breakfast.
So let me explain what I think is going on here with this AI bubble, and sort out the bullshit from the material reality, and explain how I think we could and should all be better AI critics.
#
Start with monopolies: tech companies are gigantic and they don't compete, they just take over whole sectors, either on their own on in cartels.
Google and Meta control the ad market. Google and Apple control the mobile market, and Google pays Apple more than $20 billion/year not to make a competing search engine, and of course, Google has a 90% Search market-share.
Now, you'd think that this was good news for the tech companies, owning their whole sector.
But it's actually a crisis. You see, when a company is growing, it is a "growth stock," and investors really like growth stocks. When you buy a share in a growth stock, you're making a bet that it will continue to grow. So growth stocks trade at a huge multiple of their earnings. This is called the "price to earnings ratio" or "P/E ratio."
But once a company stops growing, it is a "mature" stock, and it trades at a much lower P/E ratio. So for ever dollar that Target – a mature company – brings in, it is worth ten dollars. It has a P/E ratio of 10, while Amazon has a P/E ratio of 36, which means that for ever dollar Amazon brings in, the market values it at $36.
It's wonderful to run a company that's got a growth stock. Your shares are as good as money. If you want to buy another company, or hire a key worker, you can offer stock instead of cash. And stock is very easy for companies to get, because shares are manufactured right there on the premises, all you have to do is type some zeroes into a spreadsheet, while dollars are much harder to come by. A company can only get dollars from customers or creditors.
So when Amazon bids against Target for a key acquisition, or a key hire, Amazon can bid with shares they make by typing zeroes into a spreadsheet, and Target can only bid with dollars they get from selling stuff to us, or taking out loans. which is why Amazon generally wins those bidding wars.
That's the upside of having a growth stock. But here's the downside: eventually a company has to stop growing. Like, say you get a 90% market share in your sector, how are you gonna grow?
Once the market decides that you aren't a growth stock, once you become mature, your stocks are revalued, to a P/E ratio befitting a mature stock.
If you are an exec at a dominant company with a growth stock, you have to live in constant fear that the market will decide that you're not likely to grow any further. Think of what happened to Facebook in the first quarter of 2022. They told investors that they experienced slightly slower growth in the USA than they had anticipated, and investors panicked. They staged a one-day, $240B sell off. A quarter-trillion dollars in 24 hours! At the time, it was the largest, most precipitous drop in corporate valuation in human history.
That's a monopolist's worst nightmare, because once you're presiding over a "mature" firm, the key employees you've been compensating with stock, experience a precipitous pay-drop and bolt for the exits, so you lose the people who might help you grow again, and you can only hire their replacements with dollars. With dollars, not shares.
And the same goes for acquiring companies that might help you grow, because they, too, are going to expect money, not stock. This is the paradox of the growth stock. While you are growing to domination, the market loves you, but once you achieve dominance, the market lops 75% or more off your value in a single stroke if they don't trust your pricing power.
Which is why growth stock companies are always desperately pumping up one bubble or another, spending billions to hype the pivot to video, or cryptocurrency, or NFTs, or Metaverse, or AI.
I'm not saying that tech bosses are making bets they don't plan on winning. But I am saying that winning the bet – creating a viable metaverse – is the secondary goal. The primary goal is to keep the market convinced that your company will continue to grow, and to remain convinced until the next bubble comes along.
So this is why they're hyping AI: the material basis for the hundreds of billions in AI investment.
#
Now I want to talk about how they're selling AI. The growth narrative of AI is that AI will disrupt labor markets. I use "disrupt" here in its most disreputable, tech bro sense
The promise of AI – the promise AI companies make to investors – is that there will be AIs that can do your job, and when your boss fires you and replaces you with AI, he will keep half of your salary for himself, and give the other half to the AI company.
That's it.
That's the $13T growth story that MorganStanley is telling. It's why big investors and institutionals are giving AI companies hundreds of billions of dollars. And because they are piling in, normies are also getting sucked in, risking their retirement savings and their family's financial security.
Now, if AI could do your job, this would still be a problem. We'd have to figure out what to do with all these technologically unemployed people.
But AI can't do your job. It can help you do your job, but that doesn't mean it's going to save anyone money. Take radiology: there's some evidence that AIs can sometimes identify solid-mass tumors that some radiologists miss, and look, I've got cancer. Thankfully, it's very treatable, but I've got an interest in radiology being as reliable and accurate as possible
If my Kaiser hospital bought some AI radiology tools and told its radiologists: "Hey folks, here's the deal. Today, you're processing about 100 x-rays per day. From now on, we're going to get an instantaneous second opinion from the AI, and if the AI thinks you've missed a tumor, we want you to go back and have another look, even if that means you're only processing 98 x-rays per day. That's fine, we just care about finding all those tumors."
If that's what they said, I'd be delighted. But no one is investing hundreds of billions in AI companies because they think AI will make radiology more expensive, not even if it that also makes radiology more accurate. The market's bet on AI is that an AI salesman will visit the CEO of Kaiser and make this pitch: "Look, you fire 9/10s of your radiologists, saving $20m/year, you give us $10m/year, and you net $10m/year, and the remaining radiologists' job will be to oversee the diagnoses the AI makes at superhuman speed, and somehow remain vigilant as they do so, despite the fact that the AI is usually right, except when it's catastrophically wrong.
"And if the AI misses a tumor, this will be the human radiologist's fault, because they are the 'human in the loop.' It's their signature on the diagnosis."
This is a reverse centaur, and it's a specific kind of reverse-centaur: it's what Dan Davies calles an "accountability sink." The radiologist's job isn't really to oversee the AI's work, it's to take the blame for the AI's mistakes.
This is another key to understanding – and thus deflating – the AI bubble. The AI can't do your job, but an AI salesman can convince your boss to fire you and replace you with an AI that can't do your job. This is key because it helps us build the kinds of coalitions that will be successful in the fight against the AI bubble.
If you're someone who's worried about cancer, and you're being told that the price of making radiology too cheap to meter, is that we're going to have to re-home America's 32,000 radiologists, with the trade-off that no one will every be denied radiology services again, you might say, "Well, OK, I'm sorry for those radiologists, and I fully support getting them job training or UBI or whatever. But the point of radiology is to fight cancer, not to pay radiologists, so I know what side I'm on."
AI hucksters and their customers in the C-suites want the public on their side. They want to forge a class alliance between AI deployers and the people who enjoy the fruits of the reverse centaurs' labor. They want us to think of ourselves as enemies to the workers.
Now, some people will be on the workers' side because of politics or aesthetics. They just like workers better than their bosses. But if you want to win over all the people who benefit from your labor, you need to understand and stress how the products of the AI will be substandard. That they are going to get charged more for worse things. That they have a shared material interest with you.
Will those products be substandard? There's every reason to think so. Earlier, I alluded to "automation blindness, "the physical impossibility of remaining vigilant for things that rarely occur. This is why TSA agents are incredibly good at spotting water bottles. Because they get a ton of practice at this, all day, every day. And why they fail to spot the guns and bombs that government red teams smuggle through checkpoints to see how well they work, because they just don't have any practice at that. Because, to a first approximation, no one deliberately brings a gun or a bomb through a TSA checkpoint.
Automation blindness is the Achilles' heel of "humans in the loop."
Think of AI software generation: there are plenty of coders who love using AI, and almost without exception, they are senior, experienced coders, who get to decide how they will use these tools. For example, you might ask the AI to generate a set of CSS files to faithfully render a web-page across multiple versions of multiple browsers. This is a notoriously fiddly thing to do, and it's pretty easy to verify if the code works – just eyeball it in a bunch of browsers. Or maybe the coder has a single data file they need to import and they don't want to write a whole utility to convert it.
Tasks like these can genuinely make coders more efficient and give them more time to do the fun part of coding, namely, solving really gnarly, abstract puzzles. But when you listen to business leaders talk about their AI plans for coders, it's clear they're not looking to make some centaurs.
They want to fire a lot of tech workers – 500,000 over the past three years – and make the rest pick up their work with coding, which is only possible if you let the AI do all the gnarly, creative problem solving, and then you do the most boring, soul-crushing part of the job: reviewing the AIs' code.
And because AI is just a word guessing program, because all it does is calculate the most probable word to go next, the errors it makes are especially subtle and hard to spot, because these bugs are literally statistically indistinguishable from working code (except that they're bugs).
Here's an example: code libraries are standard utilities that programmers can incorporate into their apps, so they don't have to do a bunch of repetitive programming. Like, if you want to process some text, you'll use a standard library. If it's an HTML file, that library might be called something like lib.html.text.parsing; and if it's a DOCX file, it'll be lib.docx.text.parsing. But reality is messy, humans are inattentive and stuff goes wrong, so sometimes, there's another library, this one for parsing PDFs, and instead of being called lib.pdf.text.parsing, it's called lib.text.pdf.parsing.
Now, because the AI is a statistical inference engine, because all it can do is predict what word will come next based on all the words that have been typed in the past, it will "hallucinate" a library called lib.pdf.text.parsing. And the thing is, malicious hackers know that the AI will make this error, so they will go out and create a library with the predictable, hallucinated name, and that library will get automatically sucked into your program, and it will do things like steal user data or try and penetrate other computers on the same network.
And you, the human in the loop – the reverse centaur – you have to spot this subtle, hard to find error, this bug that is literally statistically indistinguishable from correct code. Now, maybe a senior coder could catch this, because they've been around the block a few times, and they know about this tripwire.
But guess who tech bosses want to preferentially fire and replace with AI? Senior coders. Those mouthy, entitled, extremely highly paid workers, who don't think of themselves as workers. Who see themselves as founders in waiting, peers of the company's top management. The kind of coder who'd lead a walkout over the company building drone-targeting systems for the Pentagon, which cost Google ten billion dollars in 2018.
For AI to be valuable, it has to replace high-wage workers, and those are precisely the experienced workers, with process knowledge, and hard0won intuition, who might spot some of those statistically camouflaged AI errors.
Like I said, the point here is to replace high-waged workers
And one of the reasons the AI companies are so anxious to fire coders is that coders are the princes of labor. They're the most consistently privileged, sought-after, and well-compensated workers in the labor force.
If you can replace coders with AI, who cant you replace with AI? Firing coders is an ad for AI.
Which brings me to AI art. AI art – or "art" – is also an ad for AI, but it's not part of AI's business model.
Let me explain: on average, illustrators don't make any money. They are already one of the most immiserated, precartized groups of workers out there. They suffer from a pathology called "vocational awe." That's a term coined by the librarian Fobazi Ettarh, and it refers to workers who are vulnerable to workplace exploitation because they actually care about their jobs – nurses, librarians, teachers, and artists.
If AI image generators put every illustrator working today out of a job, the resulting wage-bill savings would be undetectable as a proportion of all the costs associated with training and operating image-generators. The total wage bill for commercial illustrators is less than the kombucha bill for the company cafeteria at just one of Open AI's campuses.
The purpose of AI art – and the story of AI art as a death-knell for artists – is to convince the broad public that AI is amazing and will do amazing things. It's to create buzz. Which is not to say that it's not disgusting that former OpenAI CTO Mira Murati told a conference audience that "some creative jobs shouldn't have been there in the first place," and that it's not especially disgusting that she and her colleagues boast about using the work of artists to ruin those artists' livelihoods.
It's supposed to be disgusting. It's supposed to get artists to run around and say, "The AI can do my job, and it's going to steal my job, and isn't that terrible?"
Because the customers for AI – corporate bosses – don't see AI taking workers' jobs as terrible. They see it as wonderful.
But can AI do an illustrator's job? Or any artist's job?
Let's think about that for a second. I've been a working artist since I was 17 years old, when I sold my first short story, and I've given it a lot of thought, and here's what I think art is: it starts with an artist, who has some vast, complex, numinous, irreducible feeling in their mind. And the artist infuses that feeling into some artistic medium. They make a song, or a poem, or a painting, or a drawing, or a dance, or a book, or a photograph. And the idea is, when you experience this work, a facsimile of the big, numinous, irreducible feeling will materialize in your mind.
Now that I've defined art, we have to go on a little detour.
I have a friend who's a law professor, and before the rise of chatbots, law students knew better than to ask for reference letters from their profs, unless they were a really good student. Because those letters were a pain in the ass to write. So if you advertised for a postdoc and you heard from a candidate with a reference letter from a respected prof, the mere existence of that letter told you that the prof really thought highly of that student.
But then we got chatbots, and everyone knows that you generate a reference letter by feeding three bullet points to an LLM, and it'll barf up five paragraphs of florid nonsense about the student.
So when my friend advertises for a postdoc, they are flooded with reference letters, and they deal with this flood by feeding all these letters to another chatbot, and ask it to reduce them back to three bullet points. Now, obviously, they won't be the same bullet-points, which makes this whole thing terrible.
But just as obviously, nothing in that five-paragraph letter except the original three bullet points are relevant to the student. The chatbot doesn't know the student. It doesn't know anything about them. It cannot add a single true or useful statement about the student to the letter.
What does this have to do with AI art? Art is a transfer of a big, numinous, irreducible feeling from an artist to someone else. But the image-gen program doesn't know anything about your big, numinous, irreducible feeling. The only thing it knows is whatever you put into your prompt, and those few sentences are diluted across a million pixels or a hundred thousand words, so that the average communicative density of the resulting work is indistinguishable from zero.
It's possible to infuse more communicative intent into a work: writing more detailed prompts, or doing the selective work of choosing from among many variants, or directly tinkering with the AI image after the fact, with a paintbrush or Photoshop or The Gimp. And if there will every be a piece of AI art that is good art – as opposed to merely striking, or interesting, or an example of good draftsmanship – it will be thanks to those additional infusions of creative intent by a human.
And in the meantime, it's bad art. It's bad art in the sense of being "eerie," the word Mark Fisher uses to describe "when there is something present where there should be nothing, or is there is nothing present when there should be something."
AI art is eerie because it seems like there is an intender and an intention behind every word and every pixel, because we have a lifetime of experience that tells us that paintings have painters, and writing has writers. But it's missing something. It has nothing to say, or whatever it has to say is so diluted that it's undetectable.
The images were striking before we figured out the trick, but now they're just like the images we imagine in clouds or piles of leaves. We're the ones drawing a frame around part of the scene, we're the ones focusing on some contours and ignoring the others. We're looking at an inkblot, and it's not telling us anything.
Sometimes that can be visually arresting, and to the extent that it amuses people in a community of prompters and viewers, that's harmless.
I know someone who plays a weekly Dungeons and Dragons game over Zoom. It's transcribed by an open source model running locally on the dungeon master's computer, which summarizes the night's session and prompts an image generator to create illustrations of key moments. These summaries and images are hilarious because they're full of errors. It's a bit of harmless fun, and it bring a small amount of additional pleasure to a small group of people. No one is going to fire an illustrator because D&D players are image-genning funny illustrations where seven-fingered paladins wrestle with orcs that have an extra hand.
But bosses have and will fire illustrators, because they fantasize about being able to dispense with creative professionals and just prompt an AI. Because even though the AI can't do the illustrator's job, an AI salesman can convince the illustrator's boss to fire them and replace them with an AI that can't do their job.
This is a disgusting and terrible juncture, and we should not simply shrug our shoulders and accept Thatcherism's fatalism: "There is no alternative."
So what is the alternative? A lot of artists and their allies think they have an answer: they say we should extend copyright to cover the activities associated with training a model.
And I'm here to tell you they are wrong:w rong because this would inflict terrible collateral damage on socially beneficial activities, and it would represent a massive expansion of copyright over activities that are currently permitted – for good reason!.
Let's break down the steps in AI training.
First, you scrape a bunch of web-pages This is unambiguously legal under present copyright law. You do not need a license to make a transient copy of a copyrighted work in order to analyze it, otherwise search engines would be illegal. Ban scraping and Google will be the last search engine we ever get, the Internet Archive will go out of business, that guy in Austria who scraped all the grocery store sites and proved that the big chains were colluding to rig prices would be in deep trouble.
Next, you perform analysis on those works. Basically, you count stuff on them: count pixels and their colors and proximity to other pixels; or count words. This is obviously not something you need a license for. It's just not illegal to count the elements of a copyrighted work. And we really don't want it to be, not if you're interested in scholarship of any kind.
And it's important to note that counting things is legal, even if you're working from an illegally obtained copy. Like, if you go to the flea market, and you buy a bootleg music CD, and you take it home and you make a list of all the adverbs in the lyrics, and you publish that list, you are not infringing copyright by doing so.
Perhaps you've infringed copyright by getting the pirated CD, but not by counting the lyrics.
This is why Anthropic offered a $1.5b settlement for training its models based on a ton of books it downloaded from a pirate site: not because counting the words in the books infringes anyone's rights, but because they were worried that they were going to get hit with $150k/book statutory damages for downloading the files.
OK, after you count all the pixels or the words, it's time for the final step: publishing them. Because that's what a model is: a literary work (that is, a piece of software) that embodies a bunch of facts about a bunch of other works, word and pixel distribution information, encoded in a multidimensional array.
And again, copyright absolutely does not prohibit you from publishing facts about copyrighted works. And again, no one should want to live in a world where someone else gets to decide which truthful, factual statements you can publish.
But hey, maybe you think this is all sophistry. Maybe you think I'm full of shit. That's fine. It wouldn't be the first time someone thought that.
After all, even if I'm right about how copyright works now, there's no reason we couldn't change copyright to ban training activities, and maybe there's even a clever way to wordsmith the law so that it only catches bad things we don't like, and not all the good stuff that comes from scraping, analyzing and publishing.
Well, even then, you're not gonna help out creators by creating this new copyright. If you're thinking that you can, you need to grapple with this fact: we have monotonically expanded copyright since 1976, so that today, copyright covers more kinds of works, grants exclusive rights over more uses, and lasts longer.
And today, the media industry is larger and more profitable than it has ever been, and also: the share of media industry income that goes to creative workers is lower than its ever been, both in real terms, and as a proportion of those incredible gains made by creators' bosses at the media company.
So how it is that we have given all these new rights to creators, and those new rights have generated untold billions, and left creators poorer? It's because in a creative market dominated by five publishers, four studios, three labels, two mobile app stores, and a single company that controls all the ebooks and audiobooks, giving a creative worker extra rights to bargain with is like giving your bullied kid more lunch money.
It doesn't matter how much lunch money you give the kid, the bullies will take it all. Give that kid enough money and the bullies will hire an agency to run a global campaign proclaiming "think of the hungry kids! Give them more lunch money!"
Creative workers who cheer on lawsuits by the big studios and labels need to remember the first rule of class warfare: things that are good for your boss are rarely what's good for you.
The day Disney and Universal filed suit against Midjourney, I got a press release from the RIAA, which represents Disney and Universal through their recording arms. Universal is the largest label in the world. Together with Sony and Warner, they control 70% of all music recordings in copyright today.
It starts: "There is a clear path forward through partnerships that both further AI innovation and foster human artistry."
It ends: "This action by Disney and Universal represents a critical stand for human creativity and responsible innovation."
And it's signed by Mitch Glazier, CEO of the RIAA.
It's very likely that name doesn't mean anything to you. But let me tell you who Mitch Glazier is. Today, Mitch Glazier is the CEO if the RIAA, with an annual salary of $1.3m. But until 1999, Mitch Glazier was a key Congressional staffer, and in 1999, Glazier snuck an amendment into an unrelated bill, the Satellite Home Viewer Improvement Act, that killed musicians' right to take their recordings back from their labels.
This is a practice that had been especially important to "heritage acts" (which is a record industry euphemism for "old music recorded by Black people"), for whom this right represented the difference between making rent and ending up on the street.
When it became clear that Glazier had pulled this musician-impoverishing scam, there was so much public outcry, that Congress actually came back for a special session, just to vote again to cancel Glazier's amendment. And then Glazier was kicked out of his cushy Congressional job, whereupon the RIAA started paying more than $1m/year to "represent the music industry."
This is the guy who signed that press release in my inbox. And his message was: The problem isn't that Midjourney wants to train a Gen AI model on copyrighted works, and then use that model to put artists on the breadline. The problem is that Midjourney didn't pay RIAA members Universal and Disney for permission to train a model. Because if only Midjourney had given Disney and Universal several million dollars for training right to their catalogs, the companies would have happily allowed them to train to their heart's content, and they would have bought the resulting models, and fired as many creative professionals as they could.
I mean, have we already forgotten the Hollywood strikes? I sure haven't. I live in Burbank, home to Disney, Universal and Warner, and I was out on the line with my comrades from the Writers Guild, offering solidarity on behalf of my union, IATSE 830, The Animation Guild, where I'm a member of the writers' unit.
And I'll never forget when one writer turned to me and said, "You know, you prompt an LLM exactly the same way an exec gives shitty notes to a writers' room. You know: 'Make me ET, except it's about a dog, and put a love interest in there, and a car chase in the second act.' The difference is, you say that to a writers' room and they all make fun of you and call you a fucking idiot suit. But you say it to an LLM and it will cheerfully shit out a terrible script that conforms exactly to that spec (you know, Air Bud)."
These companies are desperate to use AI to displace workers. When Getty Images sues AI companies, it's not representing the interests of photographers. Getty hates paying photographers! Getty just wants to get paid for the training run, and they want the resulting AI model to have guardrails, so it will refuse to create images that compete with Getty's images for anyone except Getty. But Getty will absolutely use its models to bankrupt as many photographers as it possibly can.
A new copyright to train models won't get us a world where models aren't used to destroy artists, it'll just get us a world where the standard contracts of the handful of companies that control all creative labor markets are updated to require us to hand over those new training rights to those companies. Demanding a new copyright just makes you a useful idiot for your boss, a human shield they can brandish in policy fights, a tissue-thin pretense of "won't someone think of the hungry artists?"
When really what they're demanding is a world where 30% of the investment capital of the AI companies go into their shareholders' pockets. When an artist is being devoured by rapacious monopolies, does it matter how they divvy up the meal?
We need to protect artists from AI predation, not just create a new way for artists to be mad about their impoverishment.
And incredibly enough, there's a really simple way to do that. After 20+ years of being consistently wrong and terrible for artists' rights, the US Copyright Office has finally done something gloriously, wonderfully right. All through this AI bubble, the Copyright Office has maintained – correctly – that AI-generated works cannot be copyrighted, because copyright is exclusively for humans. That's why the "monkey selfie" is in the public domain. Copyright is only awarded to works of human creative expression that are fixed in a tangible medium.
And not only has the Copyright Office taken this position, they've defended it vigorously in court, repeatedly winning judgments to uphold this principle.
The fact that every AI created work is in the public domain means that if Getty or Disney or Universal or Hearst newspapers use AI to generate works – then anyone else can take those works, copy them, sell them, or give them away for free. And the only thing those companies hate more than paying creative workers, is having other people take their stuff without permission.
The US Copyright Office's position means that the only way these companies can get a copyright is to pay humans to do creative work. This is a recipe for centaurhood. If you're a visual artist or writer who uses prompts to come up with ideas or variations, that's no problem, because the ultimate work comes from you. And if you're a video editor who uses deepfakes to change the eyelines of 200 extras in a crowd-scene, then sure, those eyeballs are in the public domain, but the movie stays copyrighted.
But creative workers don't have to rely on the US government to rescue us from AI predators. We can do it ourselves, the way the writers did in their historic writers' strike. The writers brought the studios to their knees. They did it because they are organized and solidaristic, but also are allowed to do something that virtually no other workers are allowed to do: they can engage in "sectoral bargaining," whereby all the workers in a sector can negotiate a contract with every employer in the sector.
That's been illegal for most workers since the late 1940s, when the Taft-Hartley Act outlawed it. If we are gonna campaign to get a new law passed in hopes of making more money and having more control over our labor, we should campaign to restore sectoral bargaining, not to expand copyright.
Our allies in a campaign to expand copyright are our bosses, who have never had our best interests at heart. While our allies in the fight for sector bargaining are every worker in the country. As the song goes, "Which side are you on?"
OK, I need to bring this talk in for a landing now, because I'm out of time, so I'm going to close out with this: AI is a bubble and bubbles are terrible.
Bubbles transfer the life's savings of normal people who are just trying to have a dignified retirement to the wealthiest and most unethical people in our society, and every bubble eventually bursts, taking their savings with it.
But not every bubble is created equal. Some bubbles leave behind something productive. Worldcom stole billions from everyday people by defrauding them about orders for fiber optic cables. The CEO went to prison and died there. But the fiber outlived him. It's still in the ground. At my home, I've got 2gb symmetrical fiber, because AT&T lit up some of that old Worldcom dark fiber.
All things being equal, it would have been better if Worldcom hadn't ever existed, but the only thing worse than Worldcom committing all that ghastly fraud would be if there was nothing to salvage from the wreckage.
I don't think we'll salvage much from cryptocurrency, for example. Sure, there'll be a few coders who've learned something about secure programming in Rust. But when crypto dies, what it will leave behind is bad Austrian economics and worse monkey JPEGs.
AI is a bubble and it will burst. Most of the companies will fail. Most of the data-centers will be shuttered or sold for parts. So what will be left behind?
We'll have a bunch of coders who are really good at applied statistics. We'll have a lot of cheap GPUs, which'll be good news for, say, effects artists and climate scientists, who'll be able to buy that critical hardware at pennies on the dollar. And we'll have the open source models that run on commodity hardware, AI tools that can do a lot of useful stuff, like transcribing audio and video, describing images, summarizing documents, automating a lot of labor-intensive graphic editing, like removing backgrounds, or airbrushing passersby out of photos. These will run on our laptops and phones, and open source hackers will find ways to push them to do things their makers never dreamt of.
If there had never been an AI bubble, if all this stuff arose merely because computer scientists and product managers noodled around for a few year coming up with cool new apps for back-propagation, machine learning and generative adversarial networks, most people would have been pleasantly surprised with these interesting new things their computers could do. We'd call them "plugins."
It's the bubble that sucks, not these applications. The bubble doesn't want cheap useful things. It wants expensive, "disruptive" things: Big foundation models that lose billions of dollars every year.
When the AI investment mania halts, most of those models are going to disappear, because it just won't be economical to keep the data-centers running. As Stein's Law has it: "Anything that can't go on forever eventually stops."
The collapse of the AI bubble is going to be ugly. Seven AI companies currently account for more than a third of the stock market, and they endlessly pass around the same $100b IOU.
Bosses are mass-firing productive workers and replacing them with janky AI, and when the janky AI is gone, no one will be able to find and re-hire most of those workers, we're going to go from disfunctional AI systems to nothing.
AI is the asbestos in the walls of our technological society, stuffed there with wild abandon by a finance sector and tech monopolists run amok. We will be excavating it for a generation or more.
So we need to get rid of this bubble. Pop it, as quickly as we can. To do that, we have to focus on the material factors driving the bubble. The bubble isn't being driven by deepfake porn, oOr election disinformation, or AI image-gen, or slop advertising.
All that stuff is terrible and harmful, but it's not driving investment. The total dollar figure represented by these apps doesn't come close to making a dent in the capital expenditures and operating costs of AI. They are peripheral, residual uses: flashy, but unimportant to the bubble.
Get rid of all those uses and you reduce the expected income of AI companies by a sum so small it rounds to zero.
Same goes for all that "AI Safety" nonsense, that purports to concern itself with preventing an AI from attaining sentience and turning us all into paperclips. First of all, this is facially absurd. Throwing more words and GPUs into the word-guessing program won't make it sentient. That's like saying, "Well, we keep breeding these horses to run faster and faster, so it's only a matter of time until one of our mares gives birth to a locomotive." A human mind is not a word-guessing program with a lot of extra words.
I'm here for science fiction thought experiments, don't get me wrong. But also, don't mistake sf for prophesy. SF stories about superintelligence are futuristic parables, not business plans, roadmaps, or predictions.
The AI Safety people say they are worried that AI is going to end the world, but AI bosses love these weirdos. Because on the one hand, if AI is powerful enough to destroy the world, think of how much money it can make! And on the other hand, no AI business plan has a line on its revenue projections spreadsheet labeled "Income from turning the human race into paperclips." So even if we ban AI companies from doing this, we won't cost them a dime in investment capital.
To pop the bubble, we have to hammer on the forces that created the bubble: the myth that AI can do your job, especially if you get high wages that your boss can claw back; the understanding that growth companies need a succession of ever-more-outlandish bubbles to stay alive; the fact that workers and the public they serve are on one side of this fight, and bosses and their investors are on the other side.
Because the AI bubble really is very bad news, it's worth fighting seriously, and a serious fight against AI strikes at its roots: the material factors fueling the hundreds of billions in wasted capital that are being spent to put us all on the breadline and fill all our walls will high-tech asbestos.
(Image: Cryteria, CC BY 3.0, modified)

An Analysis of the Proposed Spirit Financial-Credit Union 1 Merger. The Consequences for the Credit Union System https://chipfilson.com/2025/12/an-analysis-of-the-proposed-spirit-financal-credit-union-1-merger/
Zillow deletes climate risk data from listings after complaints it harms sales https://www.theguardian.com/environment/2025/dec/01/zillow-removes-climate-risk-data-home-listings
After Years of Controversy, the EU’s Chat Control Nears Its Final Hurdle: What to Know https://www.eff.org/deeplinks/2025/12/after-years-controversy-eus-chat-control-nears-its-final-hurdle-what-know
How the dollar-store industry overcharges cash-strapped customers while promising low prices https://www.theguardian.com/us-news/2025/dec/03/customers-pay-more-rising-dollar-store-costs
#20yrsago Haunted Mansion papercraft model adds crypts and gates https://www.haunteddimensions.raykeim.com/index313.html
#20yrsago Print your own Monopoly money https://web.archive.org/web/20051202030047/http://www.hasbro.com/monopoly/pl/page.treasurechest/dn/default.cfm
#15yrsago Bunnie explains the technical intricacies and legalities of Xbox hacking https://www.bunniestudios.com/blog/2010/usa-v-crippen-a-retrospective/
#15yrsago How Pac Man’s ghosts decide what to do: elegant complexity https://web.archive.org/web/20101205044323/https://gameinternals.com/post/2072558330/understanding-pac-man-ghost-behavior
#15yrsago Glorious, elaborate, profane insults of the world https://www.reddit.com/r/AskReddit/comments/efee7/what_are_your_favorite_culturally_untranslateable/?sort=confidence
#15yrsago Walt Disney World castmembers speak about their search for a living wage https://www.youtube.com/watch?v=f5BMQ3xQc7o
#15yrsago Wikileaks cables reveal that the US wrote Spain’s proposed copyright law https://web.archive.org/web/20140723230745/https://elpais.com/elpais/2010/12/03/actualidad/1291367868_850215.html
#15yrsago Cities made of broken technology https://web.archive.org/web/20101203132915/https://agora-gallery.com/artistpage/Franco_Recchia.aspx
#10yrsago The TPP’s ban on source-code disclosure requirements: bad news for information security https://www.eff.org/deeplinks/2015/12/tpp-threatens-security-and-safety-locking-down-us-policy-source-code-audit
#10yrsago Fossil fuel divestment sit-in at MIT President’s office hits 10,000,000,000-hour mark https://twitter.com/FossilFreeMIT/status/672526210581274624
#10yrsago Hacker dumps United Arab Emirates Invest Bank’s customer data https://www.dailydot.com/news/invest-bank-hacker-buba/
#10yrsago Illinois prisons spy on prisoners, sue them for rent on their cells if they have any money https://www.chicagotribune.com/2015/11/30/state-sues-prisoners-to-pay-for-their-room-board/
#10yrsago Free usability help for privacy toolmakers https://superbloom.design/learning/blog/apply-for-help/
#10yrsago In the first 334 days of 2015, America has seen 351 mass shootings (and counting) https://web.archive.org/web/20151209004329/https://www.washingtonpost.com/news/wonk/wp/2015/11/30/there-have-been-334-days-and-351-mass-shootings-so-far-this-year/
#10yrsago Not even the scapegoats will go to jail for BP’s murder of the Gulf Coast https://arstechnica.com/tech-policy/2015/12/manslaughter-charges-dropped-in-bp-spill-case-nobody-from-bp-will-go-to-prison/
#10yrsago Urban Transport Without the Hot Air: confusing the issue with relevant facts! https://memex.craphound.com/2015/12/03/urban-transport-without-the-hot-air-confusing-the-issue-with-relevant-facts/
#5yrsago Breathtaking Iphone hack https://pluralistic.net/2020/12/03/ministry-for-the-future/#awdl
#5yrsago Graffitists hit dozens of NYC subway cars https://pluralistic.net/2020/12/03/ministry-for-the-future/#getting-up
#5yrsago The Ministry For the Future https://pluralistic.net/2020/12/03/ministry-for-the-future/#ksr
#5yrsago Monopolies made America vulnerable to covid https://pluralistic.net/2020/12/03/ministry-for-the-future/#big-health
#5yrsago Section 230 is Good, Actually https://pluralistic.net/2020/12/04/kawaski-trawick/#230
#5yrsago Postmortem of the NYPD's murder of a Black man https://pluralistic.net/2020/12/04/kawaski-trawick/#Kawaski-Trawick
#5yrsago Student debt trap https://pluralistic.net/2020/12/04/kawaski-trawick/#strike-debt
#1yrago "That Makes Me Smart" https://pluralistic.net/2024/12/04/its-not-a-lie/#its-a-premature-truth
#1yrago Canada sues Google https://pluralistic.net/2024/12/03/clementsy/#can-tech

Madison, CT: Enshittification at RJ Julia, Dec 8
https://rjjulia.com/event/2025-12-08/cory-doctorow-enshittification
Hamburg: Chaos Communications Congress, Dec 27-30
https://events.ccc.de/congress/2025/infos/index.html
Denver: Enshittification at Tattered Cover Colfax, Jan 22
https://www.eventbrite.com/e/cory-doctorow-live-at-tattered-cover-colfax-tickets-1976644174937
We have become slaves to Silicon Valley (Politics JOE)
https://www.youtube.com/watch?v=JzEUvh1r5-w
How Enshittification is Destroying The Internet (Frontline
Club)
https://www.youtube.com/watch?v=oovsyzB9L-s
Escape Forward with Cristina Caffarra
https://escape-forward.com/2025/11/27/enshittification-of-our-digital-experience/
Why Every Platform Betrays You (Trust Revolution)
https://fountain.fm/episode/bJgdt0hJAnppEve6Qmt8
"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 (the-bezzle.org).
"The Lost Cause:" a solarpunk novel of hope in the climate emergency, Tor Books (US), Head of Zeus (UK), November 2023 (http://lost-cause.org).
"The Internet Con": A nonfiction book about interoperability and Big Tech (Verso) September 2023 (http://seizethemeansofcomputation.org). Signed copies at Book Soup (https://www.booksoup.com/book/9781804291245).
"Red Team Blues": "A grabby, compulsive thriller that will leave you knowing more about how the world works than you did before." Tor Books http://redteamblues.com.
"Chokepoint Capitalism: How to Beat Big Tech, Tame Big Content, and Get Artists Paid, with Rebecca Giblin", on how to unrig the markets for creative labor, Beacon Press/Scribe 2022 https://chokepointcapitalism.com
"Enshittification, Why Everything Suddenly Got Worse and What to Do About It" (the graphic novel), Firstsecond, 2026
"The Memex Method," Farrar, Straus, Giroux, 2026
"The Reverse-Centaur's Guide to AI," a short book about being a better AI critic, Farrar, Straus and Giroux, June 2026
Today's top sources:
Currently writing:
"The Post-American Internet," a 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
Security updates for Friday [LWN.net]
Security updates have been issued by AlmaLinux (buildah, firefox, gimp:2.8, go-toolset:rhel8, ipa, kea, kernel, kernel-rt, pcs, qt6-qtquick3d, qt6-qtsvg, systemd, and valkey), Debian (chromium and unbound), Fedora (alexvsbus, CuraEngine, fcgi, libcoap, python-kdcproxy, texlive-base, timg, and xpdf), Mageia (digikam, darktable, libraw, gnutls, python-django, unbound, webkit2, and xkbcomp), Oracle (bind, firefox, gimp:2.8, haproxy, ipa, java-25-openjdk, kea, kernel, libsoup3, libssh, libtiff, openssl, podman, qt6-qtsvg, squid, systemd, vim, and xorg-x11-server-Xwayland), Slackware (httpd and libpng), SUSE (chromedriver, kernel, and python-mistralclient), and Ubuntu (cups, linux-azure, linux-gcp, linux-gcp, linux-gke, linux-gkeop, linux-ibm-6.8, linux-iot, and mame).
The 2025 Whatever Holiday Gift Guide, Day Five: Charities [Whatever]

For the last four days, the 2025 Whatever Gift Guide has been about helping you find the perfect gifts for friends and loved ones. But today I’d like to remind folks that the season is also about helping those in need. So this final day is for charities. If you’re looking for a place to make a donation — or know of a charitable organization that would gladly accept a donation — this is the place for it.
How to contribute to this thread:
1. Anyone can contribute. If you are associated with or work for a charity, tell us about the charity. If there’s a charity you regularly contribute to or like for philosophical reasons, share with the crowd. This is open to everyone.
2. Focus on non-political charities, please. Which is to say, charities whose primary mission is not political — so, for example, an advocacy group whose primary thrust is education but who also lobbies lawmakers would be fine, but a candidate or political party or political action committee is not. The idea here is charities that exist to help people and/or make the world a better place for all of us.
3. It’s okay to note personal fundraising (Indiegogo and GoFundMe campaigns, etc) for people in need. Also, other informal charities and fundraisers are fine, but please do your part to make sure you’re pointing people to a legitimate fundraiser and not a scam. I would suggest only suggesting campaigns that you can vouch for personally.
3. One post per person. In that post, you can list whatever charities you like, and more than one charity. Note also that the majority of Whatever’s readership is in the US/Canada, so I suggest focusing on charities available in North America.
4. Keep your description of the charity brief (there will be a lot of posts, I’m guessing) and entertaining. Imagine the person is in front of you as you tell them about the charity and is interested but easily distracted.
5. You may include a link to a charity site if you like via URL. Be warned that if you include too many links (typically three or more) your post may get sent to the moderating queue. If this happens, don’t panic: I’ll be going in through the day to release moderated posts. Note that posts will occasionally go into the moderation queue semi-randomly; Don’t panic about that either.
6. Comment posts that are not about people promoting charities they like will be deleted, in order to keep the comment thread useful for people looking to find charities to contribute to.
All right, then: It’s the season of giving. Tell us where to give to make this a better place.
Error'd: A Horse With No Name [The Daily WTF]
Scared Stanley stammered "I'm afraid of how to explain to the tax authority that I received $NaN."
Our anonymous friend Anon E. Mous wrote "I went to look up some employee benefits stuff up and ... This isn't a good sign."
Regular Michael R. is not actually operating under an alias, but Ovostake doesn't know.
Graham F. gloated "I'm glad my child 's school have followed our naming convention for their form groups as well!"
Adam R. is taking his anonymous children on a roadtrip to look for America. "I'm planning a trip to St. Louis. While trying to buy tickets for the Gateway Arch, I noticed that their ticketing website apparently doesn't know how to define adults or children (or any of the other categories of tickets, for that matter)."
A Planet for Guix [Planet GNU]
I am pleased to announce the availability of Planet Guix, an Atom and RSS aggregator covering all things Guix. You can browse posts on the website or use your favourite feed reader to subscribe to the aggregate feed.
Planet Guix already has subscriptions to 19 blogs from around
the community; if you write about Guix (no matter how infrequently)
and would like your blog to be included, or if you would like to
suggest another blog I missed, please create a pull request against
the repository in
Codeberg — you'll see that the subscriptions are simply
configured as association lists in
planet/config.scm.
Back in September, Sébastien Gendre asked on the help-guix mailing list if there were any plans to create a Planet website for Guix. The discussion drifted into how this might be implemented in Guile, and I thought it sounded like an interesting project for the dark autumn evenings.
The original Planet aggregator was written in Python and many Planet websites are still using its successor, Venus. The Venus code base has not seen much activity in the last decade and still uses Python 2, which was sunset in 2020. This was all the incentive I needed to implement a new Planet aggregator and static site generator in Guile.
We already know from the likes of Haunt that Guile has all the tools needed to generate a static web site. Both Atom and RSS are XML formats, and Guile also has great support for working with XML. The Guile Planet implementation uses the following built-in modules:
(web client) to fetch the feeds.(sxml simple) for reading the Atom/RSS feeds and
writing the aggregate Atom feed.
(sxml xpath) for searching the feeds to extract the data
of interest.(sxml transform) for sanitizing HTML in the entry
summaries.Many feeds include HTML content in the entry summary, which we
need to parse. This is where htmlprag
from guile-lib
comes in. I used this both to parse HTML embedded in feeds and to
generate the static content from an SXML
data structure.
With these libraries to hand the code for the planet aggregator almost wrote itself!
I was trying to keep dependencies to a minimum, but guile-filesystem
is too useful to do without and, later in the development process,
I pulled in guile-srfi-235
which provides some useful combinators. At the moment I'm only
using apply-chain to build a function for
post-processing one of the feeds, but why re-invent the wheel?
I initially deployed the Planet to a test site running on one of my servers, but the idea was received enthusiastically by the Guix maintainers and I was happy that they wanted to host it on their infrastructure.
Of course they are using Guix to manage their virtual machines
in Hetzner cloud! While they could have picked up the Planet code
and run with it, instead they pointed me at the server configuration
and invited me to make a pull request against
hydra/guix-hetzner-2.scm.
They suggested I base the configuration on their existing
static-web-site-configuration so I started reading the
code which proved very educational (I admit that I had to sleep on
it for a week before coming up with a plan!)
The static-web-site-configuration did
almost everything needed to build the Planet aggregator,
only the build step runs like a Guix package build in an isolated
environment with no network - so we cannot fetch the feeds in this
build step.
Luckily, I had already implemented functionality in the Planet
code base to build the static site from feeds cached on disk. So it
was simply a case of adding support for a pre-build
script to the static-web-site-configuration and using
this step to download the feeds.
The pull request was merged after some short discussion, and a few days later the site was live in its new home.
This was my second time contributing to the Guix project and I'm pleased to report that it was a smooth experience both times. When it came to the deployment, I was glad that I was encouraged to add the service configuration myself instead of being spoon-fed: working with computers, you learn best by doing.
I'd like to give a shout-out to @civodul, @cbaines, and @apteryx for their help with the deployment, and to the several people who sent merge requests to add their blogs before I even got around to writing this announcement.
I think the Planet site is already a great place to discover people writing about Guix, and I hope it grows and becomes an asset to the community. Happy reading!
Bold enough to fail [Seth's Blog]
The only theories worth testing are those that are falsifiable–that it’s possible for the test to indicate that in fact, the theory is wrong.
And the difference between art and illustration is the same. Illustration can’t fail. It can be improved, surely, but it’s not wrong.
Art, on the other hand, is a bold assertion, something that might not work.
New Comic: Hot Ones
New Anonymous Phone Service [Schneier on Security]
A new anonymous phone service allows you to sign up with just a zip code.
Showdown, p23 [Ctrl+Alt+Del Comic]
The post Showdown, p23 appeared first on Ctrl+Alt+Del Comic.
Girl Genius for Friday, December 05, 2025 [Girl Genius]
The Girl Genius comic for Friday, December 05, 2025 has been posted.
Expansion of Heathrow airport [Richard Stallman's Political Notes]
The UK government has decided on a major expansion of Heathrow airport, which will put the country on a path of ever more flying, and a faster and bigger climate disaster.
The decision cites various short term advantages. They would be quite desirable, if the price were limited to the cost of construction.
Hong Kong man charged with "sedition" [Richard Stallman's Political Notes]
A Hong Kong man has been charged with "sedition" for calling for action against the corruption that was responsible for the recent fire in a tall residential building that killed 135 people.
The muskrat's Imitation Intelligence [Richard Stallman's Political Notes]
If the muskrat's Imitation Intelligence could really think and have views and opinions, we would have to conclude it is a Nazi.
Trial for terrorist designation of Palestine Action organization [Richard Stallman's Political Notes]
The UK's arbitrary declaration that Palestine Action is a terrorist organization is being reconsidered by a sort of trial, but some of the evidence is being kept secret, so that there is no way for the organization and its supporters to dispute the validity of what is claimed.
Israel still committing genocide in Gaza [Richard Stallman's Political Notes]
*Israel still committing genocide in Gaza, Amnesty International says.*
Israel is still "deliberately inflicting on Palestinians conditions of life calculated to bring about their physical destruction," which is one of the conditions listed in the definition of genocide. This includes denial of food, denial of shelter, and denial of medicine and destruction of doctors and medical facilities.
Temporary protected status for Burmese refugees ended [Richard Stallman's Political Notes]
The persecutor has ended temporary protected status for Burmese refugees, threatening to deport them to Burma. The Burmese military dictatorship is delighted with this show of support.
Some Republican opposition to intense gerrymandering [Richard Stallman's Political Notes]
Some Republicans oppose, for various reasons, the press for gerrymandering more intensely the House of Representatives.
Superbugs due to antibiotic and antifungal use on crops [Richard Stallman's Political Notes]
*Use on crops of 8m pounds of antibiotics and antifungals a year leads to superbugs and damages human health, lawsuit claims.*
John McAuliff's win against a Republican [Richard Stallman's Political Notes]
*John McAuliff won against a Republican by focusing on something affecting all his constituents: the cost of energy,* increased by building lots of datacenters, meant for use with bullshit generators.
Moral basis of resistance against magatry [Richard Stallman's Political Notes]
This article lays out the moral basis of resistance against magatry, then tries to give it an unneeded "spiritual" basis. I think the first is useful, but the second is not.
US to label supposed Venezuelan drug cartel as terrorist organization [Richard Stallman's Political Notes]
*US will label supposed Venezuelan drug cartel "headed by Maduro" as terrorist organization.* This will demonstrate to magats the strength of the bullshitter's contempt for truth.
When Dubya used a lie (claiming Iraq had weapons of mass destruction) to start a war against Iraq, he tried to fabricate an false appearance of justification for that accusation.
By contrast, the falsifier doesn't bother with that. Instead he relies on the combination of (1) supporters who are loyal to a fault and insist it is true because the falsifier says so and (2) ordering officials to obey orders supposedly justified by the false claim even though it is patently unsubstantiated.
South Korea coal-fired power plants [Richard Stallman's Political Notes]
South Korea has decided to close all coal-fired power plants by 2040!
Hooray, and the whole world must go at least this fast to end fossil fuel power generation.
(satire) Tax on movies where slaves escape [Richard Stallman's Political Notes]
(satire) *[The persecutor] Imposes 100% Tax On Movies Where Slaves Escape.*
History of housing segregation in US cities [Richard Stallman's Political Notes]
The history of housing segregation in US cities (many of them in the north) goes through several steps of imposition by force.
The December Comfort Watches 2025, Day 4: Defending Your Life [Whatever]


There are many ways to die in this world, roughly as many ways as there are to live, but there is one thing I know for sure: I do not wish to die the way Daniel Miller (Albert Brooks) dies in Defending Your Life. One, he dies on his birthday, which, while it makes for a tidy headstone, is a terrible way to spend the one day of the year that is all about you. Two, he’s just bought a car, and he’s not going to get to enjoy it. Three, he dies listening to Barbra Streisand, and, no disrespect to Ms. Streisand, but there’s nothing in her oeuvre that I wish to slip the surly bonds of Earth to. The last song Daniel hears is “Something’s Coming”; the title, at least, turns out to be prophetic.
And then Daniel is dead, and where he goes is neither heaven nor hell, and not even purgatory or limbo. He has arrived in Judgment City, which looks rather a bit like Orange County, and which processes all the dead of the Western United States. Judgment City has some nice perks, like the fact that humans who arrive there can eat all the food they want and never gain weight, and also it’s the best food they’ve ever had. But there are drawbacks, too, like the fact that everyone has to wear bulky white caftans, and also that one has to make a good argument for how they’ve lived their life on Earth. If it goes well, they move on. If it goes poorly, they go back to Earth. If it goes really poorly, the universe throws them out.
You’re on trial for your life, in other words, and because this way station is both bureaucratic and strangely Calvinistic, there are subtle hints about how your trial is going to go before you even step into the courtroom. To begin, how is your hotel? If you’re at the afterlife equivalent of the Four Seasons, you’re probably fine. If you’re at something like a bog-standard Marriott, it could go either way. If you’re at the equivalent of a Motel 6, get ready to go back. Likewise, the number of days of your life that the trial will examine is a good hint how things will go; the fewer the better.
Daniel, who is a sharp study, immediately wants to know where he falls on the “go on or go back” spectrum, which amuses Bob Diamond (Rip Torn), his appointed counselor. Mind you, everything about the humans coming through Judgment City amuses the staff there; they are ascended beings who use forty to fifty percent of their brains, unlike the humans, who use five percent at most. The staff of Judgment City look at humans like humans look at clever pets or precocious toddlers. They want good things for them! But they’re not going to socialize after hours or anything.
What Daniel mostly gets from all of this is that some people are shoo-ins to move on, and some people are, to put it nicely, going to have to work for it, and Daniel is in the latter category. Daniel was not a bad person on Earth; he was nice enough and well-liked by co-workers, even if he didn’t have a lot of what you would actually call friends. But in Judgment City, there’s the belief that when you use as little of your brain as humans do, you are ruled by your fears, and Daniel… well. He’s very human.
There’s more going on in this movie, including a budding romance between Daniel and Julia, a woman who may be too good for him, the first clue of that being that she is played by Meryl Streep. But what makes Defending Your Life work for me is both the teleology and the philosophy of Judgment City, as laid out by Brooks, who in addition to starring in the film, also wrote and directed it. Brooks has posited possibly the most practical afterlife ever, a fact that I think is easy to overlook as the story chugs along.
I don’t personally believe in an afterlife, but if I were going to believe in one, this is very close to the one I would believe in — not a place of perfect peace or eternal damnation, but basically a performance review to see how you did in the place that best suited your personal development. If you go on, great — the next place has a new set of problems and challenges for you to experience, solve and learn from. If you need more time back on Earth, that’s fine too — like the California Bar, not everyone passes the first time, and there’s no shame (at least at first) going back and trying again until you get it right. Is there a God? Who knows? Judgment City is not here to answer that. What it’s here to answer is: Are you ready for what comes next?
Well, that’s nothing new, I hear you say, that’s just Buddhism with extra steps. And, well, maybe it is, and if it is, then it makes sense that fear would be the thing that reattaches you to Earth, the thing you have to eventually let go of in order to move on. We are at this moment living in an era where large numbers of people are motivated by their fears, and others derive their power by making people afraid of other people, including their neighbors. I think if the afterlife is anything like it’s depicted here, there are going to be a fair number of people who currently live well who, in the afterlife, are going to be surprised to be staying at a seedy roadside motel, looking at a month’s worth of days of their life. At least the snacks will be great.
Brooks may or may not just be giving the eternal wheel of suffering a new spin, but whatever he’s doing, he’s being smart and funny about it. Brooks’ Daniel is a slightly depressed everyman who is more clever than he is good, someone who is willing to settle even when, in his heart, it’s not what he wants. It gives Daniel a sort of melancholy that’s both approachable (you can see why his co-workers like him) and also a lot to deal with (which is why he doesn’t have a lot of friends).
He’s relatable, and I think a lot of us can see at least a little of ourselves in him. As director, writer and star, Brooks only rarely goes for the laugh-out-loud moment in this film. But over and over again, there are rueful chuckles. You’ll laugh with this film, and you might wince in self-recognition as well. Ultimately, Daniel will have to work for his happy ending, and it’s never obvious whether or not he will get it. And that, too, is like life.
Defending Your Life makes me laugh, but it’s also made me think about my own choices and my own fears in this life. I can say that there have been a few times where I thought about this film when I was on the verge of having to make choices about where my own life was heading. There is a scene in the film where Daniel is up for a job, and he wants a specific salary. He has his (then) wife pretend to be the job interviewer, and they spar over the salary he will accept. Then he goes to meet the actual guy, and takes the first number thrown out at him, even though it’s far below what he actually wanted. We see his face when he realizes what he’s done. He let his fear get in the way of what he wanted, and he knows it.
I thought about that scene a few years later, when I was working as a film critic at the Fresno Bee newspaper. At one point, I was up for a film critic job at the St. Paul Pioneer-Press, and it came down to me and one other writer. I had informed the Bee that I was up for the job, and they were waiting to find out whether I would take the job or not. If it was offered to me, it would come with a largeish bump in pay, which was something I kind of needed; the Bee was a lovely place to work, but they didn’t pay me a lot and weren’t inclined to give me more.
Spoiler: I did not get the job. When I didn’t, I could have just gone back to work like nothing ever happened, without the raise I wanted and needed. Or, I could raise on a busted flush — after all, the Bee didn’t know (yet) that I didn’t get the job. I went into my Managing Editor’s office to tell him what happened with the St. Paul offer, and the first thing I said to him as I came through the door was “give me a twenty-five percent raise and a weekly column, and I’ll stay.” If he said no, I was screwed, because I had implied I had gotten the other job. But I chose to stuff that fear down, and ask for what I needed and wanted.
Second spoiler: He said yes to my proposal and told me he was glad I was going to stay. I thanked him, went to the men’s room in the hall, slipped into one of the toilet stalls, sat down and had a nice five-minute nervous breakdown before going back to my desk and back to work. I had faced my fear, and I had got what I wanted. And it’s made a difference in how I’ve lived my life since then.
I owe Daniel, and Albert Brooks, and Defending Your Life for that. We’ll see what sort of hotel upgrade that gets me in the afterlife. I’d still rather not be listening to Streisand when I go, however.
— JS
Mayor-Elect Wilson Announces Senior Staff Team [The Stranger]
Mayor-Elect Katie Wilson announced the senior staff for her mayor’s office Wednesday. And so far, the lineup on the seventh floor of City Hall is what she promised on the campaign: a coalition of left-leaning community organizers, policy experts, business leaders, and City Hall pros.
The mayor’s office will look different from recent administrations: According to a memo obtained by Publicola, Wilson’s team has recommended that she have three direct reports: the deputy mayor, the chief of staff, and the director of city departments. The rest of staff will report to those three. (For comparison, Harrell had four deputy mayors.) According to the memo, Wilson’s team believes the smaller number will make for a more effective office, where “each member of Senior Staff has a clearly defined role.” Instead of having nearly 10 direct reports or a series of deputy mayors, the smaller team is “the happy medium that will work best for [Wilson’s] particular leadership style.”
According to the memo, the office will be structured around five guiding principles. The hiring will build a team around her style of leadership, it says, while establishing clear lines of accountability and empowering the city’s departments to use their expertise. The authors of the memo, which is unsigned, also urged her to avoid “solving factionalism through personnel: “You can’t solve the problem of factionalism by recreating it in your Mayor’s Office,” it reads. “We think you should manage these constituencies as one unified team, not by assigning one person to liaise with each key group.”
And the small-team structure, the memo reads, is the “connective tissue” between Wilson’s personality, skills, and goals she aims to achieve. The memo also suggests Wilson hire collaborative and respectful people. Simply put: “We don’t think you should hire jerks,” the memo reads.
Brian Surratt, who’s currently part of Wilson’s transition team, will take the role of deputy mayor. His 25 years of multi-sector economic experience will presumably balance out Wilson’s resume, which includes less business and more organizing work. Surratt is currently the CEO of Greater Seattle Partners, a public-private team that works with government and local companies to draw in new businesses, expand international trade, and grow the region’s major industries. Under former Mayor Ed Murray, he was the director of the city’s Office of Economic Development and worked in the mayor’s Office of Policy and Innovation.
Kate Brunette Kruezer will be Wilson’s chief of staff. She has a long history with Wilson: she was the treasurer of the Transit Riders Union, which Wilson co-founded, from 2018 to 2022, and has helped with Wilson’s post-election transition. Previously, Kruezer was the director of external affairs at the land use advocacy nonprofit Futurewise.
Jen Chan, deputy director of the Seattle Housing Authority, joins Wilson’s team as director of departments. Chan is a City Hall veteran. Spanning three decades, she’s had high-ranking positions in the Department of Finance and Administrative Service, Parks and Recreation, and the Mayor’s Executive Office. Most recently, she was chief of staff at Seattle City Light.
Seferiana Day Hasegawa will be Wilson’s director of communications. Her resume includes roles with former Mayor Tim Burgess, Senator Elizabeth Warren and Representative Pramila Jayapal. She led communications for Seattle’s Office of Planning and Community Development, is a University of Washington professor teaching policy advocacy, and is the co-founder of Upper Left Strategies, a strategy firm for progressive campaigns.
Wilson’s campaign manager, and long-time labor organizer, Alex Gallo-Brown will be the director of community relations. He’s worked for local unions and nonprofits for nearly a decade, and was the founding director of the Essential Workers Organizing Academy at UFCW 3000.
Policy analyst, facilitator and researcher Nicole Vallestero Soper will be the director of policy and innovation. Previously, she was policy director at Puget Sound Sage, an organization for research, policy advocacy and community organizing. Soper was also involved in founding several other community organizations such as the Fair Work Center, Front and Centered, and the Washington Community Alliance.
Aly Pennucci, who left City Council’s central staff during Sara Nelson’s reign, will become Wilson’s director of the city budget office. She’s currently the deputy executive for Whatcom County.
faster than a roller coaster [WIL WHEATON dot NET]
In just a couple days, I’ll get up at are-you-fucking-serious o’clock to get on a who-flies-this-fucking-early plane to go across the country, where I will land at you-just-spent-the-entire-day-on-a-plane o’clock, just in time for rush hour.
I know, I make it sound really awesome, and you’re all deeply envious of me. I’ll try not to flex about it too much.
I’m going to be on a little tour of New England to watch Stand By Me with my cast mates and a few hundred of our closest friends. It’s just three nights, with five hours days in a tour bus between them. It’s all going to happen so fast, it’ll be over before I know it, and that feels weird, since we’ve been talking about it for almost a year. I don’t know how the reality can match the buildup, but I’m looking forward to seeing what it brings.
If these shows go well (and we all expect them to go well) we have plans to do a bunch of cities next year, to celebrate the 40th anniversary of our film, and what it continues to mean to multiple generations of audiences. We already booked a handful in March, and if the stars and planets align, we’ll be doing something in a city near you, and something in Oregon, close to where we filmed the movie, next summer. Cross your fingers for us!
Once again, the locations for this week:
Oh, also! We didn’t release a new Storytime last week because it was a holiday here, but there’s a new one dropping on Wednesday. ALSO! I have my very first host-read ad coming up, which is something I never thought I’d been excited about, but it turns out I am. It’s so cool that something I made, that I love so much, that I want to do until I retire, is working out the way I’d hoped! Getting sponsors is one of those things that creates its own inertia, and is the best way we can keep doing the show for years (unless I get super lucky and 100,000 people want to be Patreon supporters — not entirely unrealistic, but not very likely, either).
I’m super grateful to be doing something I love, that I do well, that matters to people. It’s easy to forget that, or lose sight of it in the *gestures broadly at all this fucking shit every fucking day*, so I’m making an effort to remember.
If you want to get updates from the road, updates about future shows, and never miss one of my posts, here’s the thing:
Urgent: Consumer Protection loyalties [Richard Stallman's Political Notes]
US citizens: call for protecting the CFPB from being made to show humility" towards the banks it is supposed to regulate.
The main switchboard is +1-202-224-3121. If you message Congress, please spread the word!
Urgent: PBS and NPR funding [Richard Stallman's Political Notes]
US citizens: call on Congress to restore PBS and NPR funding.
The main switchboard is +1-202-224-3121. If you message Congress, please spread the word!
Urgent: Affordable Care Act and abortion [Richard Stallman's Political Notes]
US citizens: call on congressional Democrats to reject any new abortion restrictions in ACA funding talks.
The main switchboard is +1-202-224-3121. If you message Congress, please spread the word!
Urgent: Safe abortion access [Richard Stallman's Political Notes]
US citizens: call on legislators to protect safe abortion access: no one should die because doctors are afraid they will be imprisoned if they save her.
The main switchboard is +1-202-224-3121. If you message Congress, please spread the word!
Urgent: National Labor Relations nominee [Richard Stallman's Political Notes]
US citizens: call on the Senate to protect workers' rights by rejecting the nomination of Scott Mayer, union-busting lawyer, to the NLRB
The main switchboard is +1-202-224-3121. If you message Congress, please spread the word!
Microsoft drops AI sales targets in half after salespeople miss their quotas [OSnews]
Microsoft has lowered sales growth targets for its AI agent products after many salespeople missed their quotas in the fiscal year ending in June, according to a report Wednesday from The Information. The adjustment is reportedly unusual for Microsoft, and it comes after the company missed a number of ambitious sales goals for its AI offerings.
↫ Benj Edwards at Ars Technica
I’m sure this is fine and not a sign of anything at all.
SMS Phishers Pivot to Points, Taxes, Fake Retailers [Krebs on Security]
China-based phishing groups blamed for non-stop scam SMS messages about a supposed wayward package or unpaid toll fee are promoting a new offering, just in time for the holiday shopping season: Phishing kits for mass-creating fake but convincing e-commerce websites that convert customer payment card data into mobile wallets from Apple and Google. Experts say these same phishing groups also are now using SMS lures that promise unclaimed tax refunds and mobile rewards points.
Over the past week, thousands of domain names were registered for scam websites that purport to offer T-Mobile customers the opportunity to claim a large number of rewards points. The phishing domains are being promoted by scam messages sent via Apple’s iMessage service or the functionally equivalent RCS messaging service built into Google phones.
An instant message spoofing T-Mobile says the recipient is eligible to claim thousands of rewards points.
The website scanning service urlscan.io shows thousands of these phishing domains have been deployed in just the past few days alone. The phishing websites will only load if the recipient visits with a mobile device, and they ask for the visitor’s name, address, phone number and payment card data to claim the points.
A phishing website registered this week that spoofs T-Mobile.
If card data is submitted, the site will then prompt the user to share a one-time code sent via SMS by their financial institution. In reality, the bank is sending the code because the fraudsters have just attempted to enroll the victim’s phished card details in a mobile wallet from Apple or Google. If the victim also provides that one-time code, the phishers can then link the victim’s card to a mobile device that they physically control.
Pivoting off these T-Mobile phishing domains in urlscan.io reveals a similar scam targeting AT&T customers:
An SMS phishing or “smishing” website targeting AT&T users.
Ford Merrill works in security research at SecAlliance, a CSIS Security Group company. Merrill said multiple China-based cybercriminal groups that sell phishing-as-a-service platforms have been using the mobile points lure for some time, but the scam has only recently been pointed at consumers in the United States.
“These points redemption schemes have not been very popular in the U.S., but have been in other geographies like EU and Asia for a while now,” Merrill said.
A review of other domains flagged by urlscan.io as tied to this Chinese SMS phishing syndicate shows they are also spoofing U.S. state tax authorities, telling recipients they have an unclaimed tax refund. Again, the goal is to phish the user’s payment card information and one-time code.
A text message that spoofs the District of Columbia’s Office of Tax and Revenue.
Many SMS phishing or “smishing” domains are quickly flagged by browser makers as malicious. But Merrill said one burgeoning area of growth for these phishing kits — fake e-commerce shops — can be far harder to spot because they do not call attention to themselves by spamming the entire world.
Merrill said the same Chinese phishing kits used to blast out package redelivery message scams are equipped with modules that make it simple to quickly deploy a fleet of fake but convincing e-commerce storefronts. Those phony stores are typically advertised on Google and Facebook, and consumers usually end up at them by searching online for deals on specific products.
A machine-translated screenshot of an ad from a China-based phishing group promoting their fake e-commerce shop templates.
With these fake e-commerce stores, the customer is supplying their payment card and personal information as part of the normal check-out process, which is then punctuated by a request for a one-time code sent by your financial institution. The fake shopping site claims the code is required by the user’s bank to verify the transaction, but it is sent to the user because the scammers immediately attempt to enroll the supplied card data in a mobile wallet.
According to Merrill, it is only during the check-out process that these fake shops will fetch the malicious code that gives them away as fraudulent, which tends to make it difficult to locate these stores simply by mass-scanning the web. Also, most customers who pay for products through these sites don’t realize they’ve been snookered until weeks later when the purchased item fails to arrive.
“The fake e-commerce sites are tough because a lot of them can fly under the radar,” Merrill said. “They can go months without being shut down, they’re hard to discover, and they generally don’t get flagged by safe browsing tools.”
Happily, reporting these SMS phishing lures and websites is one of the fastest ways to get them properly identified and shut down. Raymond Dijkxhoorn is the CEO and a founding member of SURBL, a widely-used blocklist that flags domains and IP addresses known to be used in unsolicited messages, phishing and malware distribution. SURBL has created a website called smishreport.com that asks users to forward a screenshot of any smishing message(s) received.
“If [a domain is] unlisted, we can find and add the new pattern and kill the rest” of the matching domains, Dijkxhoorn said. “Just make a screenshot and upload. The tool does the rest.”
The SMS phishing reporting site smishreport.com.
Merrill said the last few weeks of the calendar year typically see a big uptick in smishing — particularly package redelivery schemes that spoof the U.S. Postal Service or commercial shipping companies.
“Every holiday season there is an explosion in smishing activity,” he said. “Everyone is in a bigger hurry, frantically shopping online, paying less attention than they should, and they’re just in a better mindset to get phished.”
As we can see, adopting a shopping strategy of simply buying from the online merchant with the lowest advertised prices can be a bit like playing Russian Roulette with your wallet. Even people who shop mainly at big-name online stores can get scammed if they’re not wary of too-good-to-be-true offers (think third-party sellers on these platforms).
If you don’t know much about the online merchant that has the item you wish to buy, take a few minutes to investigate its reputation. If you’re buying from an online store that is brand new, the risk that you will get scammed increases significantly. How do you know the lifespan of a site selling that must-have gadget at the lowest price? One easy way to get a quick idea is to run a basic WHOIS search on the site’s domain name. The more recent the site’s “created” date, the more likely it is a phantom store.
If you receive a message warning about a problem with an order or shipment, visit the e-commerce or shipping site directly, and avoid clicking on links or attachments — particularly missives that warn of some dire consequences unless you act quickly. Phishers and malware purveyors typically seize upon some kind of emergency to create a false alarm that often causes recipients to temporarily let their guard down.
But it’s not just outright scammers who can trip up your holiday shopping: Often times, items that are advertised at steeper discounts than other online stores make up for it by charging way more than normal for shipping and handling.
So be careful what you agree to: Check to make sure you know how long the item will take to be shipped, and that you understand the store’s return policies. Also, keep an eye out for hidden surcharges, and be wary of blithely clicking “ok” during the checkout process.
Most importantly, keep a close eye on your monthly statements. If I were a fraudster, I’d most definitely wait until the holidays to cram through a bunch of unauthorized charges on stolen cards, so that the bogus purchases would get buried amid a flurry of other legitimate transactions. That’s why it’s key to closely review your credit card bill and to quickly dispute any charges you didn’t authorize.
Flip switches [Scripting News]
In software, I like to have multiple ways to view the same data. In one context it's an outline, then flip a switch and now it's a graphic.
MORE shipped
at Living
Videotext for the Mac in 1986. You start with an outline and
flip a switch to turn it into a tree chart. Flip it back to make a
change, then flip it again to see the change in a tree chart. Or
flip the outline to reveal a set of presentation slides. People
loved the idea that they could create graphics entirely by writing
and reorganizing and then flipping a switch. That was the killer
feature in the demos we did at trade shows.
Before that in LBBS, a bulletin
board system I wrote and ran on an Apple II in my Menlo Park living
room in the early 80s, I had two views of the message structure,
reverse chronologic and a hierarchic thread structure. You could
always flip a switch and see the post you're looking at in the
other view. If you're catching up and want to see where in the tree
this message lives you, flip the switch. If you've come across a
two year old post in the tree, and want to see what else was going
on in 1982 (for example), flip the switch into the message scanner,
and you've gone back in time. And the flip-switch was instantaneous
and required one gesture, no thinking on your part.
And then Manila, many
years later, written in
Frontier, started as a discussion group. It was the software
behind discuss.userland.com,
which was where the initial blogosphere formed in 1998 and 1999. Go
through the archive to see for yourself. But then we had the idea
that hey this could be a blog, so when you created a blog post,
unwittingly behind the scenes, it just created a discussion post.
So all you had to do was flip a switch when you were reading a
post, and see the post in the discussion group. There's that
duality again.I'm working on discourse with WordLand in the middle, and WordPress at the edges, where a comment is also a blog post. Readers might not know that they're reading something that has a dual life as a comment linked to someone else's post. There can be a flip-switch in both views that lets you go back and forth. I can only guarantee that the flip switch will be in my software, since this will be an open network, there can be any number of different ways to view the content.
As someone famous once said "Let a thousand flowers bloom."
Why should comment writing not have all the features of blog post writing? Why invent a new more limited text type instead of reusing the one you created for blogging? That's where factoring comes in.
Ticket Alert: Evanescence, FKA twigs, and More Seattle Events Going On Sale This Week [The Stranger]
Now that you’ve gotten your 2025 recap from your music streamer of choice, it’s time to look ahead to some upcoming concerts. Goth rockers Evanescence bring you to life at the White River Amphitheatre next summer. Avant-pop artist FKA twigs supports her companion albums Eusexua and Eusexua Afterglow on her Body High Tour. Plus, Wilco frontman Jeff Tweedy returns to Seattle next spring. Read on for details on those and other newly announced events, plus some news you can use.
ON SALE FRIDAY, DECEMBER 5MUSIC
The Academy Is... Almost Here. 20th Anniversary
Tour
The Showbox (May 2, 2026)
Ben
Quad
El Corazon (Mar 28, 2026)
Blunts & Blondes
The Crocodile (Jan 22, 2026)
Pop Loser: Music News, this Week's Events, and John Waters Holiday Traditions [The Stranger]
Pop loser, you weekly music roundup. by Audrey Vann
Welcome back to Pop Loser, you weekly music roundup! This week, THING Festival announced an indefinite hiatus, Brandi Carlile announced her Super Bowl debut, and Paul Anka announced that he once saunaed with Frank Sinatra (read on to learn about his big takeaway from the experience). Plus, I interviewed the undisputed King of Christmas, John Waters, about his string of novelty singles, holiday traditions, and the time he accidentally consumed 14 doses of THC.
Get Pop Loser in your inbox every week.
This Week in Music:This week in Strangerland, the staff has compiled a big ol’ list of upcoming concerts we recommend this December and January. There is a lot of good stuff coming up this month that is not holiday music, including Mt. Fog, Jay Som, and Takuya Nakamura.
In other local music news, the Vera Project (in collaboration with Denton, Texas, art collective Good/Bad) has revealed the lineup for their 14th annual Rock Lottery, featuring members of local bands like Gender Envy, RUB, somesurprises, Afrocop, Naked Giants, and more. Back in March, Stranger managing editor Megan Seling wrote about her day watching the magic happen during Seattle’s most spontaneous day in music.
THING Festival has announced an indefinite hiatus. The organizers announced on Thursday that the festival will not be returning in 2026. “We intend for it to return in the future and will use this time to recalibrate its vision,” writes STG Chief Programming Officer Adam Zacks. “We want to take time to do THING right and ensure it’s the best it can be.” THING Festival launched in Port Townsend in 2019 to fill the Sasquatch Festival–sized gap in the market. It’s since moved to Carnation, and this past year, it went from one massive festival to a multi-weekend series.
Ravensdale, WA’s own Brandi Carlile will play the Super Bowl pregame show this coming February, alongside Charlie Puth and Coco Jones, with halftime entertainment from Bad Bunny. (This is the only time Pop Loser will be mentioning football, I promise.)
Warner Music Group signed a deal with the devil. The major label has joined forces with AI song generator Suno, whom they were suing for copyright infringement just last year. Pitchfork reports, “The new partnership, which settles their prior litigation, is designed to help Suno move toward a licensed model where users will pay to download songs made on its platform with artificial intelligence.” Apparently, this means that artists will be compensated and retain “full control” over how their music, likeness, and other copyrights are used. Is this good or bad? Only time will tell.
Paul Anka breaks his silence on Frank Sinatra’s penis. While promoting his upcoming HBO documentary, Paul Anka: My Way, the 1950s teen dream confirmed the long-running lore about Ol’ Blue Eyes, telling Page Six that he once saunaed with the Rat Pack. "Yeah, it was huge,” Anka revealed, also stating that he had "had trouble with eye contact" with Sinatra while in the sauna.
Want more of this? Get it sent right to your inbox.
Interview: Rockin’ Around the Electric Chair with John Waters
GREG GORMAN
John Waters is an icon—a pencil-thin mustache, dark sunglasses, a transgressive catalog of films, and an overall dedication to filth. But, on his string of novelty singles on Sub Pop Records (“Jingle Bells” / “It's a Punk Rock Christmas” and "John Waters Covers Little Cindy 'Happy Birthday Jesus'” / “A Pig Latin Visit from St. Nicholas”), Waters has an outlet to transform into new characters and direct himself à la Cindy Sherman. Gather around the electric chair, children, because the man with the bag has landed! (The man is John Waters, and the bag is full of filthy jokes.)
How do you decorate for Christmas?
Traditionally and very untraditionally. We decorate, but I don't have a tree. I decorate Divine’s electric chair from Female Trouble. I have lots of Christmas decorations. Many of them have been made by fans, and they're great—some have Divine or Edith on them. A fan made me a statue of Divine knocking over a Christmas tree. It has batteries, and all the lights blink and everything. That, I think, is my favorite one. I also have decorations that my mom made for me. I mix them as I do with my real life: I mix the good taste and turn it into bad taste, hopefully to get you to notice that everything can be pleasing.
In a recent interview, you mentioned that you used to take speed and steal Christmas gifts out of people's cars and unwrap them. Do you remember or did you keep any of the gifts you stole?
We would throw them out the window! Or worse yet, if they had a gift slip, we would take them to the store and get the money! An old friend reminded me recently that she stole a blouse with someone’s mother's monogram on it. She wore it to school the next day and covered it up with a sweater. It was really terrible. It just proves that there is no such thing as karma.
What's the most memorable Christmas gift that you've ever received?
Well, I still go to sleep sometimes with a beautiful cashmere blanket that Divine gave me a long time ago. But don't ever give cashmere! It just calls moths to your house. Cashmere is a moth Woodstock waiting to happen.
How do you feel about fruitcake?
Well, I tried to make a movie that was called Fruitcake—that has almost happened three times. It's a children's Christmas special. I hope I get to make it one day. I personally have never eaten a piece of fruitcake in my life. I don't crave it… let's put it that way.
Well, hopefully now that you've said that, people don't bring a bunch of fruitcakes to your shows!
I won’t eat anything a fan ever gives me. I did it once, and I was in the hospital for three days.
Oh my god! What did you eat?
I ate 14 doses of THC, not realizing it. They thought I had a stroke—I thought I had a stroke! It was a nightmare. Never eat food from fans!
Read the entire interview here.
Music Events Worth Your Hard-Earned Money This WeekRochelle Jordan Dec 4, Barboza, 7 pm, 21+
The Muppet Christmas Carol in Concert with the Seattle Symphony Dec 5-7, Benaroya Hall, various times, all ages
Alaska Presents: A Very Alaska Christmas Show Dec 5, Neptune Theatre, 8 pm, 18+
19th Annual Tom Waits Night Dec 6, Conor Byrne Pub, 8 pm, 21+
Matt Rogers: Christmas in December Dec 6, Neptune Theatre, 8 pm, all ages
The Snowman in Concert with the Seattle Symphony Dec 6, Benaroya Hall, 11 am & 1 pm, all ages
Wimps, Mark Robinson, and Pitschouse Dec 9, Sunset Tavern, 7:30 pm, 21+
We can tell you how to spend your hard-earned bucks, straight to your inbox.
The Songs That Keep Me Up at Night“The Man I’m Supposed to Be” by Bill Callahan
Wow, Pop Loser recommending a song by a man singing about the bad things he’s done? Believe me, I’m surprised, too. However, Smog frontman Bill Callahan’s lead single from his forthcoming album, My Days of 58, is refreshingly honest and vulnerable for this type of song—it’s sort of like a Mark Kozelek (Red House Painters, Sun Kil Moon) song with actual self-reflection and regret. Callahan sings, “I've been living too long in my head / not loving you enough in our bed / From now on, I start living my life / As if the next day I'll be dead.” Men, take notes!
“I Lived in Trees” by Mark Fry
Considering that Mark Fry’s 2011 album, I Lived in Trees, was released nearly 40 years after his debut, Dreaming with Alice, I had never considered listening to it—I had the wrongful assumption that it strayed far from the ‘70s psych-folk sound I had grown to love. But when my best friend played me the album during breakfast one morning over the weekend, I was stunned. I Lived in Trees, particularly the title track, combines just about every beautiful sound you can think of—bird chirps, gentle piano, autoharp, harmonium, flute, and bells—alongside Fry’s timeless coos, reflecting on his life: “When I was a boy I lived in trees / hidden in the leaves / looking down on my world / dreaming down on my world.” For fans of Robert Wyatt, Nick Drake, and Vashti Bunyan’s Heartleap.
Want more weekly music news and recommendations? Get Pop Loser in your inbox every week.
Dork Friday – DORK TOWER 03.12.25 [Dork Tower]
This strip was first published in 2012. (Time has no meaning anymore.)
MANY DORK TOWER strips (though possibly not this one) are now available as signed, high-quality prints, from just $25! CLICK HERE to find out more!
HEY! Want to help keep DORK TOWER going? Then consider joining the DORK TOWER Patreon and ENLIST IN THE ARMY OF DORKNESS TODAY! (We have COOKIES!) (And SWAG!) (And GRATITUDE!)
EU's New Digital Package Proposal Promises Red Tape Cuts but Guts GDPR Privacy Rights [Deeplinks]
The European Commission (EC) is considering a
“Digital Omnibus” package that would substantially
rewrite EU privacy law, particularly the landmark General Data
Protection Regulation (GDPR). It’s
not a done deal, and it shouldn’t be.
The GDPR is the most comprehensive model for
privacy legislation around the world. While it is far from perfect
and suffers from uneven enforcement, complexities and certain
administrative burdens, the omnibus package is full of
bad and confusing ideas that, on balance, will significantly weaken
privacy protections for users in the name of cutting red tape.
It contains at least one good idea: improving
consent rules so users can automatically set consent preferences
that will apply across all sites. But much as we love limiting
cookie fatigue, it’s not worth the price users will pay if
the rest of the proposal is adopted. The EC needs to go back to the
drawing board if it wants to achieve the goal of simplifying EU
regulations without gutting user privacy.
Let’s break it
down.
Changing What Constitutes Personal Data
The digital package is part of a larger Simplification Agenda to reduce compliance costs and administrative burdens for businesses, echoing the Draghi Report’s call to boost productivity and support innovation. Businesses have been complaining about GDPR red tape since its inception, and new rules are supposed to make compliance easier and turbocharge the development of AI in the EU. Simplification is framed as a precondition for firms to scale up in the EU, ironically targeting laws that were also argued to promote innovation in Europe. It might also stave off tariffs the U.S. has threatened to levy, thanks in part to heavy lobbying from Meta and tech lobbying groups.
The most striking proposal seeks to narrow the definition of personal data, the very basis of the GDPR. Today, information counts as personal data if someone can reasonably identify a person from it, whether directly or by combining it with other information.
The proposal jettisons this relatively simple test in favor of a variable one: whether data is “personal” depends on what a specific entity says it can reasonably do or is likely to do with it. This selectively restates part of a recent ruling by the EU Court of Justice but ignores the multiple other cases that have considered the issue.
This structural move toward entity
specific standards will create massive legal and
practical confusion, as the same data could be treated
as personal for some actors but not
for others. It also creates a path for companies to avoid
established GDPR obligations via operational restructuring to
separate identifiers from other information—a change in
paperwork rather than in actual identifiability. What’s more,
it will be up to the Commission, a political executive body, to
define what counts as unidentifiable pseudonymized data for certain
entities.
Privileging AI
In the name of facilitating AI innovation, which often relies on large datasets in which sensitive data may residually appear, the digital package treats AI development as a “legitimate interest,” which gives AI companies a broad legal basis to process personal data, unless individuals actively object. The proposals gesture towards organisational and technical safeguards but leave companies broad discretion.
Another amendment would create a new
exemption that allows even sensitive personal
data to be used for AI systems under some
circumstances. This is not a blanket permission:
“organisational and technical measures” must be
taken to avoid collecting or processing such data, and
proportionate efforts must be taken to remove them from AI models
or training sets where they appear. However, it is unclear what
will count as an appropriate or proportionate measures.
Taken together with the new personal data test, these
AI privileges mean that core data protection rights, which are
meant to apply uniformly, are likely to vary in
practice depending on a company’s technological and
commercial goals.
And it means that AI systems may be allowed to process
sensitive data even though non-AI systems that could pose equal or
lower risks are not allowed to handle
it.
A Broad Reform Beyond the GDPR
There are additional adjustments, many of them troubling,
such as changes to rules on automated-decision making (making it
easier for companies to claim it’s needed for a service or
contract), reduced transparency requirements (less explanation
about how users’ data are used), and revised data access
rights (supposed to tackle abusive requests). An extensive analysis
by NGO noyb can be found
here.
Moreover, the digital package reaches well beyond the
GDPR, aiming to streamline Europe’s digital regulatory
rulebook, including the e-Privacy Directive, cybersecurity rules,
the AI Act and the Data Act. The Commission also launched
“reality
checks” of other core legislation,
which suggests it is eyeing other
mandates.
Browser Signals and Cookie Fatigue
There is one proposal in the Digital Omnibus that actually
could simplify something important to users: requiring online
interfaces to respect automated consent signals, allowing users to
automatically reject consent across all websites instead of
clicking through cookie popups on each. Cookie popups are often
designed with “dark patterns” that make rejecting data
sharing harder than accepting it. Automated signals can address
cookie banner fatigue and make it easier for people to exercise
their privacy rights.
While this proposal is a step forward, the
devil is in the details: First, the exact
format of the automated consent signal will be determined by
technical standards organizations where Big Tech companies have
historically lobbied for standards that work in their favor. The
amendments should therefore define minimum protections that cannot
be weakened later.
Second, the provision takes the important step of
requiring web browsers to make it easy for users sending this
automated consent signal, so they can opt-out without installing a
browser add-on.
However, mobile operating systems are excluded from this
latter requirement, which is a significant oversight. People
deserve the same privacy rights on websites and mobile
apps.
Finally, exempting media service providers altogether
creates a loophole that lets them keep using tedious or deceptive
banners to get consent for data sharing. A media service’s
harvesting of user information on its website to track its
customers is distinct from news gathering, which should be
protected.
A Muddled Legal Landscape
The Commission’s use of the "Omnibus"
process is meant to streamline lawmaking by bundling multiple
changes. An earlier
proposal kept the GDPR intact, focusing on
easing the record-keeping obligation for smaller businesses—a
far less contentious measure. The new digital package instead moves
forward with thinner evidence than a substantive structural reform
would require, violating basic
Better Regulation principles, such as
coherence and proportionality.
The result is the opposite of
“simple.” The proposed delay
of the high-risk requirements under the AI Act to late
2027—part of the omnibus package—illustrates this:
Businesses will face a muddled legal landscape as they must comply
with rules that may soon be paused and later revived again.
This sounds like "complification” rather than
simplification.
The Digital Package Is Not a Done Deal
Evaluating existing legislation is part of a sensible
legislative cycle and clarifying and simplifying complex process
and practices is not a bad idea. Unfortunately, the digital package
misses the mark by making processes even more complex, at the
expense of personal data protection.
Simplification doesn't require tossing out digital rights. The EC should keep that in mind as it launches its reality check of core legislation such as the Digital Services Act and Digital Markets Act, where tidying up can too easily drift into a verschlimmbessern, the kind of well-meant fix that ends up resembling the infamous ecce homo restoration.
Alpine Linux 3.23.0 released [LWN.net]
Version 3.23.0 of Alpine Linux has been released. Notable changes in this release include an upgrade to version 3.0 of the Alpine Package Keeper (apk), and replacing the linux-edge package with linux-stable:
For years, linux-lts and linux-edge grew apart and developed their own kernel configs, different architectures, etc.
Now linux-edge gets replaced with linux-stable which has the identical configuration as linux-lts, but follows the stable releases instead of the long-term releases (see https://kernel.org/).
The /usr merge planned for this release has been postponed; a new timeline for the change will be published later. See the release notes for more information on this release.
[$] The beginning of the 6.19 merge window [LWN.net]
As of this writing, 4,124 non-merge commits have been pulled into the mainline repository for the 6.19 kernel development cycle. That is a relatively small fraction of what can be expected this time around, but it contains quite a bit of significant work, with changes to many core kernel subsystems. Read on for a summary of the first part of the 6.19 merge window.
Colin Watson: Free software activity in November 2025 [Planet Debian]

My Debian contributions this month were all sponsored by Freexian. I had a bit less time than usual, because Freexian collaborators gathered in Marseille this month for our yearly sprint, doing some planning for next year.
You can also support my work directly via Liberapay or GitHub Sponsors.
I began preparing for the second stage of the GSS-API key exchange package split (some details have changed since that message). It seems that we’ll need to wait until Ubuntu 26.04 LTS has been released, but that’s close enough that it’s worth making sure we’re ready. This month I just did some packaging cleanups that would otherwise have been annoying to copy, such as removing support for direct upgrades from pre-bookworm. I’m considering some other package rearrangements to make the split easier to manage, but haven’t made any decisions here yet.
This also led me to start on a long-overdue bug triage pass, mainly consisting of applying usertags to lots of our open bugs to sort them by which program they apply to, and also closing a few that have been fixed, since some bugs will eventually need to be reassigned to GSS-API packages and it would be helpful to make them easier to find. At the time of writing, about 30% of the bug list remains to be categorized this way.
I upgraded these packages to new upstream versions:
I packaged django-pgtransaction and backported it to trixie, since we plan to use it in Debusine; and I adopted python-certifi for the Python team.
I fixed or helped to fix several other build/test failures:
I fixed a couple of other bugs:
Welcome to Our 2025 Complaints Issue [The Stranger]
We made it to the end of 2025, which by all accounts, was the longest year in recorded history. by Stranger Staff
It’s The Stranger’s December Issue. We made it to the end of 2025, which by all accounts, was the longest year in recorded history. And what do we have to show for it?
Actually, a lot. After enduring nine intense months of campaigning, we elected a new mayor, two new city council members, and a new city attorney, and as far as we can tell, none of them are secret Republicans. We got our very own women’s hockey team. We saved a major bus lane that was on the chopping block. The Mariners got the closest they’ve ever gotten to the World Series. An orca calf survived long enough to be socially integrated into its pod. The Pastry Project opened a bakery window. Mount Rainier didn’t erupt. And we have 11 shiny Stranger issues in the bag.
But amidst all that goodness, we still have some bones to pick. And in these pages, you’ll find The Stranger’s inaugural Complaints Issue, a non-exhaustive (exhausted, exhausting) list of everything that grinds our gears about Seattle. This isn’t the transplant bitch-fest you see every two weeks on TikTok. We love this city. And we love it enough to want better for it. We want parks that seem like they actually like people! We want things to be open outside of banking hours! We want grocery stores that aren’t part of the carceral state! We want more than one public artist! We want drivers that know how to operate a motor vehicle!
But we didn’t want to just leave 2025 with complaints, so we added a couple love letters for you, too. Senior Staff Writer Charles Mudede wrote about how Vangelis’s score for Blade Runner—which will soon be performed by the Seattle Symphony—used synthesizers to create an impossibly expansive city. Stranger contributor Meg van Huygen made you a list of the very best holiday drinks around the city, from taverns to cocktail bars. Michael Wong offers the official Asian Verified Ins and Outs of 2025, and our Books Correspondent, Katie Lee Ellison, finally ranked the best books of the year.
But just in case you dare mistake us as unserious, Staff Writer Nathalie Graham dug into a school board race in Tumwater that captures the conservative fervor against trans athletes in Washington. And now that the race for the Mayor’s office is over, we learned what it takes to run a mayoral campaign as a community organizer.
And that wraps our last little gift for you this year. See you in February, with a whole new bag of hijinks.
Love,
The Stranger
Cover art by Clay Walker/www.chickenglamourshots.com
This Issue Brought to You By….
2,011 votes
*
Every fart-related conversation on the Real Housewives of Salt
Lake City
*
Releasing the Epstein files so I can get a good night’s
sleep
*
Women who ruin the workplace for the better
*
Birdfeeder drama
*
The difficulty from a math standpoint
*
The 1997 masterpiece Batman & Robin
*
My missing wisdom teeth
*
Watching only The Santa Clause and Jim Carrey’s
The Grinch all month long
*
The comment section of our pumpkin pie rankings
*
Seasonal Affective Disorder
*
Women!!!
*
Starbucks PR “actually having a really great day”
*
Merkins
*
Edging
*
SECB Supremacy
*
Katie Wontson
*
A tuxedo cat named Miumiu
*
Taiyaki
*
Wine Gums
*
Padma Lakshmi and Melissa King flirting on Instagram
*
Merrell Jungle Mocs
*
Everyone in the Doechii line banding together against the Christian
evangelist shouting outside
*
Hating with nuance and precision
*
The conjoined Olympia Pizza & Spaghetti House III and
Harry’s Bar
*
The bulldog in Mexico that wears a stuffed squirrel
“cowboy” on his back and a tiny red cowboy hat for
every walk
The Stranger’s Inaugural Complaints Issue [The Stranger]
If anyone’s gonna talk shit about our home, it’s gonna be us. by Stranger Staff
Enough!
For years, delusional politicians, ass-kissing mainstream media talking heads, and professional liars have been misrepresenting Seattle to the masses: “It’s been taken over by antifa terrorists!” “Seattle is a lawless wasteland!” “The city is spiraling out of control!”
We’ve heard them all before. But their criticisms got loud again during election season, as outsiders started to notice that our own mayoral race had a lot in common with New York’s historic election of Zohran Mamdani. Trump has implied that Seattle is too dangerous to host the 2026 World Cup matches (though violent crime is down), and our new mayor, Katie Wilson, is a “liberal slash communist.” But we are done being your punching bag, America! We love this city and we are proud to call this bewildering little corner of the country our home.
And look, we know it’s not perfect. Our cost of living is about 45 percent higher than the national average. And we have fewer public bathrooms per capita compared to many other major US cities. We consistently rank in the top three “gloomiest” regions, with an average of 226 cloudy days and 156 rainy days per year; we have some of the worst traffic congestion in the country despite studies also claiming we’re one of the best cities for public transportation; and our professional baseball team is the only team in the league who has never made it to the World Series.
But we love our rain. And our Mariners. And the local organized Antifa Cells, wherever they are.
So if anyone’s gonna talk shit about our home, it’s gonna be us. We live in this city, we work in this city, we eat, drink, and fuck in this city. We see what makes it great, and we know what drives us crazy. We love it enough to want what’s best for it.
Therefore, as we stand on the cusp of a new year, with a new mayor and a more progressive City Council incoming, we are submitting, for your consideration, our official list of grievances, delivered with love.
Sincerely,
The Stranger
Hell Is a Grocery Store
The Police State Is in Aisle 10
***
We Deserve Better City Parks
Seattle Needs More Spaces That Celebrate the City, Not Run Away
From It
***
Seattle, Please Stay Open Later
I Know It’s Hard, But We Gotta Try
***
Don’t Be an Asshole
A Timeless Guide to Music-Show Etiquette
***
But Wait, There's More
We Need to Talk About the Lack of Public Bathrooms, Sidewalk
Etiquette, and That One Public Artist… You Know the One
***
And You Know What Else???
We Have Even More to Say About Restaurants, Neighborhoods, and
Ghosts
And You Know What Else??? [The Stranger]
Never, ever call it Cap Hill. by Stranger Staff
Stop complaining about how expensive restaurants are here. They’re expensive because workers are required to be paid a living wage, and to be perfectly real, that wage is high because everyone fucking moved here and all the rents and real estate prices skyrocketed. Your servers and cooks need somewhere to live. Also, maybe you've noticed, but ingredients cost almost double what they used to.
***
Speaking of servers, can we all stop going to restaurants owned by people who treat their staff like shit? As a local philosopher put it, "Happy employees don't unionize."
***
See also: rapist-owned restaurants. Stop giving these monsters your money.
***
Gas Works in Gas Works Park should be one word: Gasworks Park.
***
Why the fuck is it taking so long to ban the hell of earth that is leaf blowers.
***
Seattle has great Mexican food now. It didn't, but now it does. Shut up about it.
***
If we can’t, for some reason, make them illegal, then we should sanction the point-blank egging of vehicles that are too loud on purpose.
***
Cyclists, either get off the sidewalk or put cards in your spokes like the child that you are.
***
Stop whining about how your bespoke hyper-regional food from your hometown isn't available 2,500 miles away in Seattle. Why would it be? That cudighi on a hard roll is back in Sault Ste. Marie where you left it.
***
Bartenders of Seattle need to stop putting so much ice in Diet Cokes.
***
Bartenders of Seattle—never put ice in a Martini. Are you insane?
***
It’s unacceptable that the Democratic Socialists of America and the Downtown Seattle Association have the same acronym.
***
Although there are many great ones, the best and Seattlest teriyaki joint in Seattle is inside the Community Grocery mini-mart, with the ’70s wood paneling and the wall of coolers and the 40 different kinds of Pringles and the Korean soap operas on TV. This is only a complaint if you think that [redacted], which serves roasted golden beet salad and is owned by a white Californian who's claiming his shit is Hawaiian, is the best teriyaki in Seattle.
***
It’s Lower Queen Anne, not Uptown.
***
On that note, it’s Downtown, not the Central Business District. You capitalistic fucks.
***
We are at full saturation on boba tea joints at this point, guys. Matcha, too. All set, thanks.
***
For the love of God, please scoot over to make room for people on the light rail, and let people get off the train first before getting on!
***
Why the fuck would you put a Boston-based lobster roll chain in downtown Seattle, ship these poor souls across the country, salt them until they're inedible, and serve them one block from ground zero for gorgeous, pristine PNW seafood? Dungeness crabs are our lobsters, but only MARKET Seattle inside SAM seems to understand this. Eat local.
***
There aren’t enough ghosts in this city.
***
Counterpoint: The Biltmore has enough ghosts for the whole city.
***
Stop fucking calling everything a smashburger, too, so you can charge seven dollars more. Smashburgs are actually smaller than regular burgs, ounce for ounce, since they cook the living shit out of them in the smash process. So it's an even more heinous crime to charge extra. But also, they’re almost never real smashburgers. Words mean things.
***
Would it kill you to unclog a storm drain once in a while?
***
Please walk faster.
***
Taco Time’s soft “tacos” are burritos. Adding lettuce to a burrito does not make it a taco. Why have we let them do this since 1960?
***
Seattle is not a sandwich city.
***
White chefs need to stop haphazardly tossing Sichuan peppercorns/chili crisp/XO sauce into their uninspired farm-to-table menus in a lazy attempt to “spice things up”—if you are going to incorporate ingredients from another culture, do so with intention and respect.
***
We’re still mad that Seattle passed up the opportunity to name Frelard "Freball."
***
There are too many stairs in the new Stranger office, and the elevator is scary.
***
Stop blaming the "Seattle Freeze." To borrow a phrase from local band Who Is She?: It's not Seattle, it's you.
***
Counterpoint: The Seattle Freeze exists. Your friendships don't need to revolve around hobbies. Learn to hang out.
***
Sober spaces are possible, but put some elbow grease into it.
***
No more restaurants staffed by robots, for fuck’s sake. Robot pizzerias, robot sushi-yas, that creepy robot barista place on First and Stewart: Down with all of it. It's giving Disney Adult. Stop trying to turn Seattle into the end credits of WALL-E.
***
It’s never Cap Hill.
***
It’s never Capital Hill.
***
In fact, just keep that neighborhood’s name out of your fucking mouth unless you lived in Seattle before 2020.
***
Restaurant and bar owners really need to stop making their logos (and menus!) with fugly AI art. Everyone can see it's AI art. You look tacky and dumb.
***
Seattle venues: DJ nights are cool but shouldn’t replace live bands. What if we had both.
***
We have more dogs than kids. Which means we have thousands of Seattleites walking around the sidewalks with hot bags of poop at any given moment. We need public trash cans outside of downtown.
***
Fred Meyer took the handles of their paper bags!!!! What the fuck!!!!!
The Stranger’s Complaint Commission comprises Hannah Murphy Winter, Emily Nokes, Megan Seling, Vivian McCall, and Nathalie Graham. Nearly all restaurant-based complaints were formally submitted by Meg van Huygen.
But Wait, There's More [The Stranger]
We need to talk about the lack of public bathrooms and cozy coffee shops, and that prolific public artist... you know the one. by Stranger Staff There aren’t enough cozy coffee shops.
I have had it up to here with all these modern Scandinavian-style coffee shop clones. They’re cold, white, and sterile, with all the warmth and ambience of a hospital room. You can usually recognize them by their ubiquitous peg letter menu boards (you know the ones) and uncomfortable metal stools with no back support, seemingly designed to torment anyone even moderately blessed in the cake department. Good luck trying to linger here for more than an hour without your sciatica acting up.
I long for the warm, earthy aesthetic of the ’90s and early 2000s. I want to see squishy, overstuffed armchairs and cushy couches. I want to feel like I just walked onto a Nora Ephron movie set.
A few shops in Seattle still get this cozy, inviting vibe: A Muddy Cup in Wallingford and all locations of Chocolati, which seem frozen in an earlier time (in a good way). C&P Coffee Company in West Seattle, which feels like a living room and bids patrons to “stay awhile.” And Pan de La Selva inside City Hall, whose owner, Mayra Sibrian, decorated it to be colorful and maximalist. Also, RIP to Bedlam Coffee in Belltown—I still miss your comfy reading nooks and cinnamon toast. JULIANNE BELL
Seattle needs more public bathrooms.
HEIDI BERTON
I piss. You piss. We all piss. We also shit. Even women. It’s coming out. Right now, maybe. The question is, “where?”
Seattle’s answer: a shrug.
Our potty ratio—about 25 public bathrooms per 100,000 residents—is dismal. What if an Etsy Witch hexes Seattle with the dreaded and all-too-common diarrhea curse? What if RFK Jr. replaces the fluoride in our water supply with Giardia? What if we all lose our keys at the same time? The streets would run brown. To an extent, they already do.
This city generally blames homeless people for that. We don’t have reliable poop and pee statistics, but it’s a reasonable assumption that people who don’t have a bathroom of their own are forced to go outside more than people who do have a bathroom.
Building is challenging. Plumbing is hard. It’d all be so expensive to solve. But I think the bigger barrier is the ugly little thought that public bathrooms “enable” homeless people to live outside. And that a door to piss behind is really just a drug den in waiting. A place for someone to hide and hurt the city’s upstanding citizens. The city is full of private bathrooms—in offices and schools and homes. If they want a bathroom, they can just get a fucking job, right??
We can play Twister with human rights talk and the complex, social drivers of homelessness. Or, we can accept the simple math. Fewer bathrooms = more public pooping and peeing. We understand this when there’s a parade, a festival, or a construction site, and line the streets with porta-potties. But when the work and play are over, we slam the door and slap a padlock on it. It’s shameful.
I don’t want to spend all day up on my porcelain throne, but let’s consider what this really means for us. We’re sacrificing a lot to make people suffer.
I bet you make the calculus without even realizing it. The run or park hang you cut short to get within pissing distance of a toilet. The list of private bathrooms in familiar places stored in the back of your mind. The ambiguous worry you won’t be able to find one when visiting somewhere new. The $4 you know you have to spend on bottled water in exchange for a whizz. Over the course of a year, how much do we spend to use the bathroom? $100? $200?
Where do you go if you accidentally touch something gross and have to wash your hand? What do you do if your snot-nosed kid needs his diaper changed? Do we think it’s right that some 19-year-old barista is responsible for cleaning up after all the miserable shits that happen within a 10-block radius because the coffee shop they work at is the neighborhood’s only option? Are we really, really better off dispatching a city shit squad to powerwash the alleys in Pioneer Square? Is this the best use of our public resources?
This is beyond antisocial. It’s sociopathic. Bathrooms now! VIVIAN McCALL
Local filmmakers aren’t making films locally.
HEIDI BERTON
As the recent fiasco with Harbor Island Studios made evident (on the chopping block; not on the chopping block), the film industry is not taken seriously by any government body—city, county, or state. We (those who make films) always have to fight tooth and nail for tax incentives, for crumbs to fall from a mighty high budget table. And if that weren’t bad enough, some of our top filmmakers have not made a film in years.
Let’s begin with Zia Mohajerjasbi. He finished shooting Know Your Place in 2019. But despite the attention and awards the film received, Mohajerjasbi has yet to get a new project off the ground. And then there’s S.J. Chiro. She completed her film East of the Mountains, based on a novel by an established writer, David Guterson, in 2020, and counted Tom Skerritt and Mira Sorvino as its stars. And she received positive reviews after its release in 2021. Nevertheless, Chiro is in the same boat as Mohajerjasbi. She has plans, but so far, nothing doing.
Another shocker is Bao Tran, who directed Paper Tigers, a martial arts movie released in 2020. It was Tran’s directorial debut and received rave reviews. Rotten Tomatoes ranks it as one of the Best Action Comedies and Best Asian American Movies. He showed he has the chops to direct bigger and more challenging projects, but he hasn’t released a film in five years.
These lags between feature films come with a heavy price. They erode what a local or regional film industry must always accumulate: institutional memory. A feature film requires a lot of time to plan (pre-production), a large crew and many weeks to execute (production), and several more months to transform footage into a complete work of art (post-production). The process keeps a lot of people in the industry busy and in the city. And the more accessible crew and talent are, the more efficient is the production process. But if your leading directors are not working for years at a time, this vital institutional memory is depreciated or completely lost. Seattle is condemned to continually reinvent filmmaking. CHARLES MUDEDE
We should be able to tap our credit cards or phones to pay for transit.
JONAS KALMBACH
Around the world, transit riders are waving their phones or gently tapping their credit cards to enter the glorious universe of a bus, a train, a ferry. In some parts of China, people pay for transit with their palms. Meanwhile, in Seattle, we are stuck in the past.
Don’t get me wrong, I do not want the palm-payment technology. I would be happy with the simple, elegant alternative of paying my fare the way I pay for everything else: with my card or with my phone. The closest thing we have to the modern era of transit payment is a digital Orca Card that only Google phone owners can use to tap-to-pay. Since I’m a fool who always loses her Orca card or forgets to put money on it, I’ve opted for the digital tickets on the Transit Go App. You cannot scan these tickets. You just tap them and show the bus driver and hope they believe you’ve paid. For a smarter technological alternative to paper tickets, it’s very dumb.
We’ve been signaling ourselves as the city of the future for decades. That’s what that big needle in Lower Queen Anne is all about (see: LQA vs. Uptown complaint). We should be on the cutting edge of this stuff. Plus, in a time when transit agencies around the country are struggling to make ends meet, making it easier for people to pay for transit is probably a good thing. Yes, yes, public transit should be free. But, it’s not. So, it should at least be easy to pay for.
We’re behind the times. Places like New York City, Chicago, Salt Lake City, San Francisco, and Portland are ahead of the curve on this. London’s been doing it since 2012. Embarrassing!
No firm date yet, Sound Transit says. “But expect it in 2026.” NATHALIE GRAHAM
The Wildrose bathroom is not made for the human body.
JONAS KALMBACH
Let me set the scene. You’re in the lesbian bar and you have to pee. You hustle past the bar and through the line of drunk women with no spatial awareness. You arrive at a door and open it. Inside, you find a bathroom with no spatial awareness. The hallway of black stalls ends in a cul-de-sac with a small sink. It’s so narrow that two people cannot squeeze past one another without embracing. This is not sexy close. It’s awkward. The stalls are no better. Forget about fingering. There’s no room for your legs, let alone a purse, if you pee at a normal angle. Side-saddle kind of works, but only barely. I’ve tried every stall. They’re all disappointing. I love you, Wildrose, but I cannot fathom how your bathroom ended up this way. VIVIAN McCALL
Where have all the midnight screenings of ‘Rocky Horror Picture Show’ gone?
JONAS KALMBACH
I will never forget the first time I saw Tim Curry as Dr. Frank N. Furter step out of the elevator singing “Sweet Transvestite” in fishnets and a sequin corset. I was 13, at the Admiral Theater’s monthly midnight screening of The Rocky Horror Picture Show (shadow cast by the Vicarious Theatre Company), and I felt deeply confused and excited by my first crush that existed beyond gender. During the film, I joined the crowd in throwing rice, singing loudly to “Touch-A, Touch-A, Touch Me,” and yelling things like “Buy an umbrella, you cheap bitch!” For the first time, I was encouraged to be loud, messy, and wild. I loved it. This experience is not unique—most queer people over 30 have had this ah-ha moment at a midnight screening, whether it was while gazing at Curry’s thighs or wanting to kiss the hottie who’s dressed in Columbia cosplay. As the years have passed, I’ve seen these screenings slowly disappear from Seattle. Now it appears that our city has none left (the nearest is at the Blue Mouse Theatre in Tacoma). While adults needn’t walk far to find a queer community (see: Seattle’s many queer bars), queer teenagers shouldn’t have to miss out on this tradition. Like the alluring Frankenstein Place, midnight screenings of The Rocky Horror Picture Show create a contained queer haven that encourages playful mischief, deviance, and sexual freedom. AUDREY VANN
Please learn how to drive.Seattle drivers are psychopathically passive. We all know this. Yes, driving can be scary and is inherently dangerous, but if you’re behind the wheel, you need to be alert to your surroundings and proactive. Please don’t be so deferential and timid that you yourself become the danger and fuck up everyone’s commute with your insecurities.
Here’s how it works. When it’s time to turn your car, you must turn your car. Get into an efficiency mindset. Your job is to turn your car, not to fret about whether it is polite to turn your car. You put your blinker on, and then you turn your car at a reasonable pace.
You don’t slow to a crawl at the green light, just like you don’t randomly slow to a near stop at an uncontrolled intersection with no stop sign, pedestrians, or other cars coming.
Switching lanes should also be done in a prompt manner. Slowly drifting to wherever you’re going is extremely not the move. Find a gap, turn on your blinker, and change lanes.
Do not screech to a halt the moment you see a hint of a pedestrian a few feet from the sidewalk. Yes, pedestrians have the right of way. But if they’re not actively crossing the street, you’re just inviting a rear-end collision.
When faced with a four-way stop, review the rules beforehand so you’re confident enough to make it happen when the time comes. In Washington, the first vehicle to arrive has the right-of-way. If two vehicles arrive simultaneously, the one on the left yields to the one on the right. All drivers must also yield to pedestrians and cyclists. This should all happen fairly quickly. If you blank on the rules and someone is waving you forward, go with it, confidently, and then wave back. This is no time to fret, and no time to get overwhelmed. You’ve got this.
Remember: Fear is the mind-killer. (And public transit is also an option.) THE STRANGER’S DRIVE-BETTER BOARD
Can we tidy up in here, Seattle businesses? (Nothing crazy, regular cleaning.)
HEIDI BERTON
This is a gentle complaint, but babes, some of our beloved Seattle businesses are giving wellness check. If you run a space of any kind, part of the deal is giving the interior a good cleaning every once in a while and refusing to let entropy win.
I get it. This happens at my apartment, too. We’re in the low-lit season for so much of the year that as soon as a single ray of sun comes through the window, you realize you’ve been living like Miss Havisham (gothic icon!) amongst layers of dust, cobwebs, and whatever that black soot is that just kind of accumulates on our window sills. It’s probably last on your list of things to get to, but we’d collectively get a serotonin boost if our fave restaurants, cafes, shops, and galleries did some zhuzhing.
Some tough love: Beyond sweeping, dusting, and managing the fingerprint-to-glass ratio on a daily basis, if your walls are fucked up, paint them. How’s the signage doing? Does the bus tub nook have its own ecosystem at this point? Lightbulbs: All of them should work. If your bookshelf or display case is half merch, half random crap, edit it down. How are the chairs doing? Are they wobbly, shedding stuffing, or tattooed with ancient gum? Does the bathroom feel like a dare? If you got really into the plastic-flower-wall trend, there will come a time when you may want to fill some of the holes and de-grime those petals. If you have real plants, keep an eye on them, care for them. If any of them have died, it’s time to replace them, cruel as the cycle of life and death may be. If the Christmas lights are half out, let’s replace those, too. And honestly, maybe we don’t need Christmas lights unless we’re really good at hanging them? EMILY NOKES
Seattle’s vegan restaurant ecology is flawed.
HEIDI BERTON
"Why can’t we find anything like this in Seattle?” I’ve whined to my partner too many times while enjoying meals at vegan eateries in Portland, Detroit, and Los Angeles (note: I’ve not been to LA since 2019). You know, places where you can get superior entrees that combine healthy grains, well-spiced vegetables, interesting dressings and sauces, expertly seasoned tofu, tempeh, and legumes, as well as freshly squeezed juices that make you feel Olympian. Places that innovate using high-quality, local ingredients or put ingenious spins on various ethnic specialties, without over-relying on the fryer or draining your bank account.
“But, Dave,” you say, “Seattle has plenty of good vegan restaurants, you ungrateful bastard.” Okay, we do have some decent joints. But... there’s (mush)room for improvement! Now, I haven’t eaten at every vegan spot in the city, but it seems that the hive mind has determined that what the city’s meat-and-dairy-avoiders really want is bar/comfort food, prepared sans animal products. Or a menu laden with meat-substitute items, with too-clever names. (News flash: Most vegans are repulsed by food that replicates the taste of things with faces.) Or grub that’s so rich and pretentious the only folks who can afford it are the pretentious rich. Sure, I liked Plum, but it was a once-a-year treat for non-affluent eaters. Same with Cafe Flora and Harvest Beat. Not everyone here’s tech royalty.
Seattle’s flawed vegan restaurant ecology is vexing. We have the demand and bountiful regional ingredients. The city abounds with vegans and people open to chowing that way on a semi-regular basis. But they are underserved in this burg of 800,000 citizens. So, where are all the sensibly priced, flavorful, plant-based eateries in the vein of those that dominate PDX’s scene?
I’ve had pleasant experiences at Wayward Vegan, Sunlight Cafe, Oak, and Loving Hut, but their meals never rose above “pretty good”—certainly not on the level of Portland benchmarks Harlow, Norah, and Mirisata. El Borracho excels in the Mexican realm, but that’s a narrow niche. Fremont newcomer Vital Creations shows potential to blossom into something special. Araya’s Place offers solid, varied Thai vegan dishes, but my worst case of food poisoning occurred after eating at the U-District branch. Life on Mars’s bar-food-heavy menu takes risks like David Bowie did with music, but it’s not all Hunky Dory. Chu Minh Tofu is a no-frills, affordable champ, but it’s located behind a barbed-wire fence on a beleaguered ID corner. Ba Bar Green in SLU serves tasty Vietnamese street fare, but it’s merely a grab-and-go window adjoined to Ba Bar proper. This arrangement is a metaphor for how many businesses treat vegans.
Seattle needs restaurants that hit the sweet spot of reasonably priced plates of wholesome, boldly flavored vegan victuals that aren’t hell-bent on tricking carnivores and/or bombing your gut. Entrepreneurs, you’re leaving money on the table. DAVE SEGAL
The escalator etiquette here is bad.
JONAS KALMBACH
There is a right way to use the escalator. This is important because we have so many escalators. And they are so long. The holes we dug for light rail are so deep. If you are in Seattle, you will find yourself on an escalator. If you do not want to walk up the escalator and would rather be whisked to your destination by the magic of the moving stairs, please stand to the right. This means putting all luggage to the right as well. Then, the people in a hurry, or in pursuit of their daily step goals, can speed by on the left. Standing on the left impedes this. Leaving your bag on the left does, too. We get these thick, clogged bottlenecks. Are we not used to living among other people, Seattle? Over 800,000 people live here now. We must shake our small city-itis. I’m sorry to tell you, but there is hustle and bustle around you now, and it’s not going away. Many of us like that about this growing city. Leave the left lane open. NATHALIE GRAHAM
And the sidewalk etiquette isn’t any better.
JONAS KALMBACH
Gender equality—I love it. People of all genders should be able to do what they want without labels boxing them in or the patriarchy beating them down. And apparently, we’ve decided to apply that philosophy to our sidewalk conduct. The women in my life tell me that men don’t move to the side when they’re walking on the sidewalk. We must have won feminism, because now NOBODY moves on the sidewalk. Men, women, nonbinary people—doesn’t matter! Nobody’s moving out of anyone’s path! And you know what? You SHOULD! It’s RUDE. If you’re walking down the middle of the sidewalk, stop that! If you’re walking with six friends and y’all are taking up the whole sidewalk, CONDENSE! No one should have to duck into doorways or behind those little trees planted in the cement or walk into the literal fucking street to dodge swaths of people who have no concept of spatial awareness or common courtesy. Share the sidewalk! MICAH YIP
Seattle city pools have terrible and limited lap-swimming hours.
HEIDI BERTON
Seattle, city of water, has 10 public city-run pools. Two of these pools are only open during the summer. For the rest, you can buy fairly affordable punchcards ($72 for 10 swims) or monthly passes ($85 for 35 days), good for all city pools. This seems like an easy way to get some exercise, right? Except the lap-swimming hours are crazy.
I like Medgar Evers Pool next to Garfield High School in the Central District. When I first started swimming for exercise about two years ago (a byproduct of one of my Play Date columns), Medgar Evers had an early morning lap swim program from 5 a.m. to 7 a.m. But it quietly disappeared about a month after I started swimming. For most days of the week, lap swimming happened only from 11 a.m. to 2:30 p.m. or for two hours in the evening, starting around 6 or 7 p.m. None of them are easy to get to if you work regular hours, and even on a Tuesday at noon, the pool would be full. Evening hours brought it to a whole different level. At least two times in the past few months, I walked in, saw the churn of the water, and opted to save my precious punches left on my pass for a quieter pool experience. Then the city closed the pool for two months.
Now, I’m trying to find which city pool I can swim at instead. All of them have the wildest, weirdest hours and windows for lap swimming. The Ballard Pool seems to only have one-hour time slots for lap swimming. Some have two hours. But the bulk of these time slots happen in the midmorning or early afternoon, when people are working. The biggest lap-swimming time slot for a Seattle city pool is at the Meadowbrook Pool in Lake City from noon to 4:00 p.m. on Mondays and Wednesdays. Each day has different hours.
For a city surrounded by water, where many people— I assume—want to swim for exercise and not freeze their tails off in the lakes during the winter, the lack of publicly available pool time is astounding. Perhaps this is a facilities issue; too many programs are sharing the same resources. Or, it’s a staffing problem; in 2022 and 2023, city beaches and pools closed down because there weren’t enough lifeguards. Either way, it’s not enough to allow me to be a consistent swimmer at Seattle’s pools. I’ll probably have to join the YMCA. Sigh. NATHALIE GRAHAM
The public artist has gone too far.Everywhere you look, they’re there. Shh. You know who I’m talking about. They’re in the alleyways, they’re on the garage doors. Maybe every garage door at this point. Turn your head for just one moment, let your guard down even a little, and whoosh. A mural of a heavily sedated owl wearing a top hat has appeared, and all you felt was the temperature drop, the static on your skin.
They’ve been here.
They’ll be back.
At first, you tell yourself the figures are harmless. A painting of a goofy little guy, some kind of gnome, maybe a vaguely cross-eyed squirrel. It’s kind of cute? But not really your style. That’s okay, not everything is for you. But the more you see them, the more you wish you could also see some other types of art.
At least it’s just one neighborhood, you think. Or wait. No. You cross the city, there it is again: this time in the form of a heavy-browed sasquatch holding a coffee cup. They’re cropping up faster and faster these days. You hear rumors that there are plans for even more. A thousand new ones, they say. You keep your head down, knowing your peaceful neighborhood walk could, at any moment, be interrupted by an octopus holding a hamburger.
Behind closed doors, your poet friend calls the aesthetic “nautical-java-burner core” (I told you she was a poet). You start to think of it as a whimsy blight. The exterior world smiling back at you with the fixed gaze of a raccoon that’s one bong rip away from pulling out a ukulele at a party, unprompted. “It’s fine, everything’s fine.”
But it’s not fine. Something is starting to feel unsettling about the ubiquity. This can’t be right. We’re smarter than this. Edgy, even. A city that repeatedly chooses the same frictionless aesthetic is revealing something about its own appetite for risk. It is choosing comfort over experiment, legibility over complexity, and familiarity over the possibility of being altered by an encounter with art. This isn’t who we are. Or is it? You can’t remember.
After a while, you stop being surprised. That’s the scariest part. You can’t remember the first one you saw. The murals feel older than the city itself, like they arrived in a batch before you did, an advance party softening the terrain. There is no moment of encounter anymore, only a low-resolution background hum of familiarity. The figures are not on the city, they’ve seeped into it. The soft tyranny of the familiar.
They must be stopped, you think. We’re just confusing repetition with importance! You subtly ask around. A barista, a server, a first date; you’re met with pleasantly blank replies. “They’re just part of the city. It’s not about liking or disliking. They’ve always been here.”
Some say that art should make you feel something. That even if you feel anger or disgust, then it’s done its job. But they’re right, it’s not about liking or disliking, you’re anhedonic. And worried. It’s unsettling that you did, in fact, maybe just prefer the side of the hospital better when it was greige, and blank. We need blank spaces, you begin to think. Just a few. We’ll suffocate without them.
You notice how the work never changes. You realize you are not witnessing an artist grow; you are watching a symbol reproduce. These aren’t murals—they’re sigils. They intend to replicate until every surface has been covered.
Other artists quietly disappear. Who can compete with someone who will cover your building for free? Someone so determined in their spraypaint manifest destiny? The city’s Faustian bargain for getting to boast of being “covered in art.”
One night, you walk home a different way, thinking you’ve outsmarted them. New block, new alley, a blank stretch of concrete. For a moment, the wall is just a wall.
Then you see it: a fresh outline, the first curve of a too-familiar heavy-lidded eye.
They’re here.
This is their city.
You were only ever walking through it. EMILY NOKES
Seattle’s street names make no sense.
JONAS KALMBACH
Seattle’s streets look like they were named by taking handfuls of Scrabble tiles and some third-grader’s multiplication flashcards, throwing them up in the air, and seeing what tiles and cards landed closest to each other. N 41st St. 33rd Ave NE. NE 196th St. 238th Place SW. Sorry, but that is entirely unreadable. Tell me you look at that and your brain doesn’t just shut down.
And since our original city planners might as well have been 6-year-olds with sidewalk chalk, those streets intersect into five-way stops. I don’t care how sparse public transit is here—I would rather take the light rail and live to see another day. MICAH YIP
Don’t Be an Asshole [The Stranger]
If you’re wily enough to sneak drugs into the venue (which I don’t condone!), offer me some. by Dave Segal
FOOMP!
That was the sound of a dancer’s hand slamming into my cheekbone as I was minding my own business at a recent Cut Chemist show in Nectar Lounge. This incident—which caused no bruise, but did leave a psychic scar—illustrates three key rules of attending music shows: Be aware of your surroundings. Do not invade other people’s space. Understand that you do not exist in a goddamn bubble!
Now, as someone who’s been going to gigs, indoor and outdoor concerts, DJ events, house parties, raves, and record-shop in-stores for 45 years, I’ve picked up some hard-earned wisdom that may benefit the public. Much of what I’m going to say here should go without saying. Y’all should’ve learned most of this stuff before puberty. But each generation yields a high percentage of doofuses who need certain guidelines repeatedly drilled into their thick crania. And even then, many fuck up. Those Devo guys were right.
Okay, let’s go over some basic rules of attending music shows in an allegedly civilized society.
STFU when musicians are performing.Literally nothing you’re saying at a show should take precedence over the sounds emanating from the stage—unless you are suffering a medical emergency. Or if you want to tell me that you dug that one blog post I wrote in 2013. Otherwise, zip it. We didn’t shell out $35 + fees to hear your inane babble. Some years ago at a J.R.C.G. show in Barboza, a few people nearby were shouting at one another in order to be heard over the band’s boisterous horns. Never, ever be those assholes.
Do your damnedest not to obscure the views of others when taking pics/video with your phone.This is a corollary to the dictum in paragraph one. Sure, it’s crucial that you document shows on social media for street cred/brand-building/inducing FOMO in your followers. But be mindful about it.
Don’t sing along with the music... unless you have good pipes.We didn’t shell out $89 + fees to hear you mangle our favorite tunes with off-key showboating. If the urge strikes, just take your ass to the nearest karaoke joint.
If you jostle somebody or step on their toes by mistake, apologize.Sure, it’s super-important for you to rush up front so you can ogle that hottie at the mic stand, but a quick “Sorry” after a bodycheck or foot stomp goes a long way toward avoiding bad karma. I’m still fuming at the rude boy who rammed into me at Neptune Theatre circa 2017 as he sprinted to get close to King Gizzard and the Lizard Wizard.
Don’t be a sex pest.Always respect boundaries. Music shows aren’t CPACs.
Don’t bring food into the club.Back in 2018, a dude carried some Bok Bok chicken tenders into Neumos, and the aroma was downright foul. However, if you must consume food while experiencing music, go to the Triple Door or Jazz Alley, venerable nightclubs with quality kitchens and classy decor. The bookings are often great, too.
This edict applies mainly to jazz audiences: For the love of Alice Coltrane, please do not applaud until songs are finished.I don’t care if it’s “tradition”; clapping after solos or particularly delicious passages drowns out the very great music that we paid handsomely—or strenuously pulled strings for guest list—to hear. Such applause is more about congratulating oneself than rewarding the players. “Hey, everybody—look how awesomely I appreciated this part!” Yeah, yeah... don’t strain a muscle patting yourself on the back, bro.
If you stand over six feet tall, don’t post up near the stage.Look, you won the genetic lottery, so the least you can do is hang out near the back or off to the side.
Tip your bartender well—even if you’re buying non-alcoholic drinks.They have to put up with a lot of drunken shenanigans, cringe-y flirting, and, often, lousy music.
Bring breath mints.Nobody—especially me—wants to smell your rancid beer-and-cigarette breath... particularly when the band I spent $48 + fees to see is tearing the roof off and you’re jabbering in granular detail about the features of your new effects pedals. Not the time and place, Poindexter.
Wear deodorant.Yes, even you, Phish phan. It’s just common scents.
Don’t fart, unless you’re in the bathroom.Ancient Greek philosophers observed that sphincter control is crucial to the maintenance of civilization. And you know what? Those geezers nailed it.
Don’t wear any MAGA paraphernalia.Unless you want your head to be used as a speed bag. After all, this is the “Communist” paradise known as Seattle; be aware of your surroundings.
If you’re wily enough to sneak drugs into the venue (which I don’t condone!), offer me some.I’ll trade you for a breath mint.
Seattle, Please Stay Open Later [The Stranger]
A city this big that grinds to a halt by 9 p.m. feels like a sad HOA-run diorama. by Emily Nokes
I’m not asking for a 24-hour city. I mean, I am, eventually. But first, I’m simply asking that a city of nearly a million people does not keep the same hours as a small-town bank.
Disclaimer: Seattle businesses, I know you are doing your best. Most of you, at least. The world is against you. From our city being uniquely warped by tech, to our inability to care for folks in crisis on a systemic level, to the fact that Seattle is crazy fucking expensive, to the many other variables that need progressive taxation and a good-for-something Legislature to solve, I cannot imagine how difficult it must be for business owners to make it work.
But this is the Complaints issue, and I do have a Complaint to file. This city closes too fucking early. This is not just my complaint, it seems to be everyone’s. Not a week goes by that we don’t play Seattle’s favorite game: “Is anything open right now?”
The lights go out hours before the light rail skids to a 1 a.m. halt. Our parks shut down so early they seem like they don’t actually want to be parks (see here); we don’t have a lot in the way of late-night non-bar spaces or events, and our cafes, bakeries, and other daytime shops seem to need to close earlier and earlier. For a city this big and this expensive—we rank ninth most expensive in the U.S., woof—it should be easier to find restaurants open past 7 p.m. outside of a bar setting.
We’re a music city (right, everybody?), a restaurant city, a theater and art city. We’re also a dark, wet, and winter-heavy city. If anyone should understand the value of having more late-night indoor options and reasons to leave the house, it’s a town that spends nine months of the year auditioning for the role of “bleak exterior” in an A24 movie, and still losing to Vancouver.
A multiplicity of later-night options—transit, culture, errands, gatherings—lets us live fuller days without forcing our lives into a narrow window of daylight built entirely around work and sleep, where only productivity is considered a legitimate use of time. A city this big that grinds to a halt by 9 p.m. feels like a sad HOA-run diorama. Is it depleted vitamin D making us SAD, or boredom?
I want to live in a city where I can get off work late, exit a show, or just leave the house at night, and have a plethora of food options. Perhaps a 24-hour diner situated in a part of town close to venues and theaters. Perhaps a 24-hour diner anywhere. Imagine the trains and buses are still running frequently and on a real schedule that won’t strand you, and helps make exploring other neighborhoods feel less like a major life decision potentially entailing a $70 Uber ride. What makes a 24-hour or 18-hour (can I get 14-hour?) city appealing isn’t the promise of nonstop excitement—we’ll get there—it’s simply having normal, useful options for spontaneity. Pharmacies and grocery stores open late; museums, theaters, galleries, and other spaces holding events on the later side so people who work irregular hours can attend. Even one or two spots in the image of the old Cafe Presse or Vito’s—both of which served ambience and food late into the night, RIP—might help Seattle feel a bit like her old self again.
I know folks are fighting the good fight to stay open at all. I’m just hoping that it’s something we could just think about, together.
While writing this piece, I polled friends and strangers: “What’s your favorite spot for food—or literally anything—open past 10 p.m. in Seattle?” The response was overwhelming. Not necessarily in the amount of tips I received, but in message after message saying “PLEASE, WE NEED THIS, SHARE WHAT YOU FIND.” (I did! See list below.) I will say, the tips I did receive came with exuberant recommendations, which I found heartening, and reminded me that there are bits of hope here yet.
Even with the anecdotal enthusiasm, I know there’s still the big looming question of: What if it’s us? If the city itself got its groove back and fostered a late-night vibe, would the people come out and actually enjoy it? We’re weird and anxious and vitamin-D deficient, but I think we can get it together. If you build it, we will come (out past 10 p.m.).
On the last kinda-nice autumn night, I realized it was 10 and I hadn’t planned ahead for dinner. Because Hell Is a Grocery Store and because I have to remind myself not to waste this one precious life doom-scrolling and paying $28 in fees for a $12 burrito on Grub Hub, I walked down to Hot Mama’s (open until 11 p.m.) and bought two slices at the window. The workers inside were projecting a movie onto a sheet on the wall inside where there used to be indoor seating. They’re always so nice.
I sat at one of their metal tables outside; the guy next to me, also solo, nodded in solidarity and set down some sort of large instrument case he was lugging. I was surprised Break Away Vintage across the street was still open; I hadn’t checked it out yet. (Turns out they go until 11 p.m. on weekdays, and until midnight on weekends). Their music was soundtracking the whole corner, and they had good taste. People passed by in good outfits, giggling. It wasn’t even the weekend. This shouldn’t have felt like a big deal, but here, it did. A city dweller in a real city.
What Is Open Late in SeattleAn incomplete list of places that serve food until at least 11 p.m.
* That isn’t strictly bar food
Adot Ethiopian & Restaurant
Al Bacha Restaurant
Al Basha Mediterranean Grill
Alem Restaurant
Alibi Room
Baba Yaga
Bait Shop
Bangrak Market
Beth’s Cafe
Blue Nile Ethiopian Restaurant
Cafe Ibex
Casablanca Express
Cedar Tea House
Cinnaholic
Dick’s Drive-In
Donna’s
Falafel King
Fort St. George
Harry’s Bar/ Olympia Pizza House III
Hattie’s Hat
Honey Court Seafood Restaurant
Hong Kong Bistro
Hot Cakes Molten Chocolate Cakery
Hot Mama’s Pizza
Il Bistro
Insomnia Cookies
Le Caviste
Massawa Eritrean & Ethiopian Restaurant
Mr. Gyros
New Luck Toy
North Star Diner
Orient Express
Pacific Inn Pub
Purple Dot Cafe
Roxbury Lanes
Spice Bliss
Sunset Cafe
Taqueria El Sabor
Taqueria Juarez
The Ballard Smoke Shop
The Unicorn
Yetenbi Bar & Restaurant
Zig Zag Cafe
13 Coins
We Deserve Better City Parks [The Stranger]
Sometimes I just want to sit on a real bench, in the middle of a real park, in the city I love, and soak it all in. by Megan Seling
The Pacific Northwest is undoubtedly beautiful, and Seattle has no shortage of public parks that double as nature-loving reprieves from the city’s crowds and noise. Discovery Park, Lincoln Park, Carkeek Park, Seward Park, they’re all full of winding, wooded trails beneath hundreds, even thousands of trees, with wide-open, grassy playing fields and access to the shores of Lake Washington or Puget Sound, where it’s not rare to spot seals playing or a pod of orcas on the hunt. It’s fucking magical!
What Seattle doesn’t have, though, are city parks. Parks where there’s no hiking, no trail biking, no whale watching—just a place to rest, to read, to people watch on a comfortable bench amid the city’s vibrancy.
Have you seen the public parks in Mexico City and Oaxaca? Their parks are phenomenal. They’re not huge, but they’re entire worlds, tucked into city blocks, among all the commotion. They’re full of beautiful brickwork, stone fountains, and public art. Paved paths are lined with shrubs, flowers, and new and old trees that provide shade to joggers getting in their daily laps or people strolling with their dogs. There are play areas for kids, and a few pieces of utilitarian but well-maintained exercise equipment for adults. And sitting is welcome! Iron benches are plentiful and bolted down—they can’t be locked up at closing time because the parks do not close. Instead, there is lighting throughout, and everything is usable long after sunset.
These spaces are so accommodating and accessible that generations of people have built their daily routines around them—enthusiastic instructors host Zumba classes, teens take dance lessons, and small marching bands practice their routines on the regular. Food carts and other mobile retailers are allowed to set up shop at all hours, only adding to the energizing activity and convenience. They’re the ultimate example of if you build it, they will come… to move, to eat, to work, to unwind right there in the middle of the city.
Seattle’s parks do not compare. Of course, attempts have been made. I’ve spent hours people-watching at Cal Anderson Park on my way home from work. I’ve seen people face off over the oversized chessboards in Occidental Park, and watched players get entertainingly competitive at the ping-pong tables in Hing Hay Park after grabbing some coffee and a Crunchy Cream Malasada from Fuji Bakery. I’ve also noticed the city’s half-hearted effort to establish little pop-up parks by placing a smattering of tables and chairs in places like Westlake Park, Belltown, and South Lake Union, but those are all temporary. Flimsy and foldable. I’ve had tables and chairs pulled out from underneath me by a park’s employee mid-bite, in some cases, after daring to linger a little too close to sunset. (True story! At least let me finish my Pastry Project sundae next time, guy!)
Instead of building up public spaces and investing in making them usable, enjoyable, even, with permanent seating and garbage cans and public bathrooms, our leadership has been shutting them down, too focused on eliminating any and all public areas where a person might dare try to loiter or rest. Months ago, three inner-city parks—Seven Hills Park, Lake City Mini Park, and the pavilion at Dr. Blanche Lavizzo Park, which has been host to Seattle’s fun and colorful Mexican Guelaguetza celebration for several years—were temporarily closed for the remainder of the year. Oh, are people not using them as you intended, Seattle? Maybe that’s because the city has swept through every public space, eliminating seating, picnic tables, trash cans, and access to public restrooms (see related complaint here).
This isn’t a population problem. People are not the enemy. There are more than four million people living in Oaxaca, and more than nine million in Mexico City proper, and those major cities are still capable of building and maintaining these beautiful, bustling little parks, public (and free!) third places for people to come, alone or together.
Please. Katie Wilson, St. Rat’s bestie Alexis Mercedes Rinck, and anyone else who has the keys to the park palace, please, please invest in our inner-city public spaces. Don’t try to erase them. I want to be able to grab a coffee, wander a few blocks, and just sit and watch the city unfold in front of me. I want to quietly judge people for what they’re wearing and make eye contact with strangers’ dogs as they walk by. I want to sit and watch kids fall over while learning how to ride their bikes, because kids falling down is funny. I love that we have so many ways to escape the city’s madness. But I don’t always want to hike or keep track of when a park might close down. Sometimes I just want to sit on a real bench, in the middle of a real park, in the city I love, and soak it all in.
Hell Is a Grocery Store [The Stranger]
I have to be willing to subject myself to a Safeway’s Fisher-Price police state to buy ice cream? by Vivian McCall
The ice cream was my breaking point.
When I want it, I’m usually having a bad day. The locks made it worse.
Unbreakable. Comically large. Glittering. Silvery. Affixed to the top right-hand corner of the glass door. I could see the primo shit I was willing to shell out $10 for: the vanilla Häagen-Dazs. I had two options. Smash the glass with my forehead, or smash the big button to call over an underpaid, overworked employee at this understaffed Safeway. I chose “button. ” As I waited, I meditated on ice cream and grocery stores. What they’ve come to.
Breaking point is the wrong phrase. Breaking points are supposed to be an endpoint. But what choice do I have, Safeway? QFC? Trader Joe’s is fine—and the canned dolmas make for a banger lunch in a pinch—but I can’t subsist on snacks and quirky TV dinners. I need meat. Veggies. Ingredients. I don’t have the space or wherewithal for a victory garden to overcome this tyranny. I am on a desert island with these companies, and they’ve drawn a dividing line in the sand. Their side has all the coconut trees. Their trees, their jungle rules.
Each one of the following has been a non-breaking breaking point for me: hiring guards to check my receipt as I leave, physically chasing my girlfriend out of the store when she didn’t show them hers, the ban on backpacks, private security following crying homeless people around, private security hiring that skinny white nationalist with extremist tattoos flashing the taser on hip like it was his big, wet, post-coital cock, and, also, the goofy miniature grocery store they’ve set up in the middle of the grocery store that cordons off the booze and toiletries from the rest of the store. I hate it, hate it, hate it. Everyone I know hates it.
It’s a Black Mirror episode in there. I can’t stand seeing people line up, flash their receipt to a guard armed with a taser while being filmed on who knows how many cameras, who then go about their merry way like this is always how grocery stores have been, how grocery stores should be, and how grocery stores will remain in perpetuity. It’s a borderline abuse of shopkeeper’s privilege and—if there’s a lawsuit in this—I hope someone sues the Häagen-Dazs out of them.
We’re told to tolerate this because the market demands it. These private companies claim—often without evidence—that we’re in the middle of an organized retail crime spree the likes of which this country has never seen before. News reports would indicate that they are probably lying about that, but in this market-driven society, they’re allowed to lie without consequence. They’re not accountable for anything, and they’re not responsible for making food more affordable, when the expense drives crimes of poverty. You people watched Les Mis, right? We can all generally agree that Inspector Javert is a dick. Why are we doing this?
Theoretically, the consumer can strike back. Our weapon is our dollars, but let’s survey the battlefield. Fuck. They own it. We can’t boycott food, or practically swap a short walk with heavy groceries for a long walk with heavy groceries, and Amazon delivery just cedes power to bald evil. They’re bending me, and you, and your mother, and your grandmother over the barrel of economic inelasticity and spanking us barehanded.
The supermarket is supposed to be the capitalist Garden of Eden. The one thing that makes all the bullshit worth it. More food than one could ever hope to eat. More brands than anyone would even want to try, with more brands on the way, all promising something new and better and tastier.
I grew up partly in Florida, which is 90 miles from Cuba. My dad told me—horrifyingly, forebodingly—that Cuba didn’t have grocery stores like ours. There were no brands, no choice. I picked the cans of whole peeled tomatoes for our weekly spaghetti dinner. Forget familiar Hunts. The sexy Contadina lady. Hearty Red Gold. The alluring Cento. In Cuba, tomatoes were just “tomatoes.” I shivered. I shared his horror. In America, the government did not control my tomatoes.
I still buy whole peeled canned tomatoes, and I’m willing to shell out $6 for the primo shit. And I have to be willing to subject myself to a Safeway’s Fisher-Price police state to get them. Some choice.
How can I read the standard output of an already-running process? [The Old New Thing]
A customer wanted to know if they could read the standard output of an already-running process. They didn’t explain why, but my guess is that their main process launches a helper process (not written by them) to begin some workflow, and eventually that helper process launches a console process, which produces the desired output. But they want their main process to read that output, presumably so they can continue automating the workflow.
Unfortunately, there is no way to read the standard output of an already-running process. Standard handles, like the environment variables and current directory, are properties of the process that are not exposed to outsiders by the system.¹
In particular, programs do not expect these properties to change asynchronously. For example, a program that might check the standard output handle and put up a progress spinner if it is a console but not if it is a pipe or file.
Some programs check whether their standard output handle refers
to a console (in which case they will use functions like
WriteConsoleW to get Unicode support or
SetConsoleTextAttribute to get
colors. Furthermore, the C runtime libraries typically check their
standard output handle at startup to see whether it has been
redirected to a file. This alters the behavior of standard I/O
functions because buffering is enabled for non-interactive standard
output. If you could change the standard output handle out from
under a program’s nose, it would try using
WriteConsoleW to write to something that
isn’t a console any more. The calls would fail, and the
program would generate no output at all.
It’s actually worse because it’s not uncommon for
programs to call GetStdHandle and save the
value in a variable, then use that variable to write to standard
output instead of calling GetStdHandle
every time. So even if you managed to change the standard output
handle, you’d be too late.
What you have to do is find a way to influence the standard output of the console process at the point it is created. Since the presumed intention is for the output of the child process to be visible to the user, the console process probably inherits its standard output from its parent, so you can get the child to operate with redirected output by redirecting the output of the parent process. You’ll have to figure out how to distinguish the output of the parent from the output of the child, but so too did human beings who ran the helper process manually, so presumably there’s some consistent way of recognizing it.
¹ Of course, that doesn’t stop a program from explicitly exposing a custom mechanism for allowing other processes to manipulate them.
The post How can I read the standard output of an already-running process? appeared first on The Old New Thing.
Slog AM: Trump Still Hates Washington State, RFK Jr. Still Hates Vaccines, Governor Ferguson Still Hates Taxes [The Stranger]
The Stranger's morning news roundup by Micah Yip
WA Gets Served Again: In its latest attempt to prove the patently false assertion that immigrants are causing widespread voter fraud, the Trump administration sued Washington state after Secretary of State Steve Hobbs refused to give them voter information. We’re one of six states in the lawsuit.
What’d we do right this time? The DOJ’s seven-page complaint alleges Hobbs’ refusal violates the Civil Rights Act of 1960, which says that state election officials must provide certain voter info to the US Attorney General if asked. In September, Hobbs told the Department of Justice (DOJ) that he would not hand over voter information protected under Washington law—including voters’ dates of birth, driver’s license numbers or the last four digits of social security numbers—fearing it would be used for immigration enforcement. He said he’d be willing to provide voter names, addresses, years of birth, voting records, registration dates and registration numbers. That wasn’t good enough for the feds. Hobbs said he hasn’t been served yet and only knows about the suit through the media, the Washington State Standard reported.
Cuts, cuts, cuts: While a scissor-happy Trump administration hacks away at public funds, Gov. Bob Ferguson has announced he’ll also use cuts to balance the state’s budget, instead of implementing new taxes. As Stranger Staff Writer Nathalie Graham reported yesterday, Shaun Scott just announced his bill for a statewide payroll tax for high earners. But Ferguson said he’d veto any sales or property tax bills that come across his desk, because he claims they can’t create revenue quick enough to remedy the state’s multi-billion dollar shortfall this year. Scott’s bill is expected to bring in up to $3 billion a year, which sounds like the kind of thing you’d want for a multi-billion dollar shortfall.
South Hill Rapist Dies: Kevin Coe, dubbed the “South Hill Rapist,” was found dead Wednesday in an adult family home in Federal Way. Coe died at age 78 from natural causes, just months after he was released from civil commitment on McNeil Island. He served 44 years on the island’s special commitment center for raping dozens of women and teen girls in the ’70s and ’80s near Spokane, and was only released this year because his health had deteriorated enough that he was no longer considered a threat to the public.
Trump Pardons Climate Pledge Arena Developer: President Trump pardoned Tim Leiweke, the Climate Pledge Arena developer, on Tuesday, saving him from bid-rigging charges issued by the DOJ. Leiweke was indicted by a federal grand jury in July after the DOJ accused him of teaming up with a rival CEO to rig the bidding process for the Moody Center at the University of Texas at Austin. He pleaded not guilty and faced a $1 million fine, plus a maximum 10-year prison sentence, and was still awaiting trial at the time he was pardoned.
Weather: Buckets of rain. A short reprieve from 4 to 6 p.m. before resuming until midnight. High of 47 degrees, low of 41.
Payday: Amazon will pay $3.7 million in a settlement for labor violations they allegedly committed. The Seattle Office of Labor Standards alleged Amazon Flex, which allows workers to use their own vehicles to make deliveries, gave premium pay and paid sick time to only some employees, not all. While the company denied the allegations, they still agreed to pay the millions to the 10,968 affected workers to settle the case. They will also pay a $20,000 fine to the city of Seattle.
Happy Food News, Sad Food News: The happy news: Situ Tacos, the Mexican-Lebanese fusion taqueria in Ballard was named one of the 33 best new restaurants in the nation by Esquire magazine. (You already know they’re great, because they were on our Best Restaurants list last year too.) The bad news: Kabul, a long-time Seattle favorite Afghan food restaurant, is closing. Owner Wali Khairzada said the cost of food and labor was too high to keep the doors open, and the place could close as soon as December 31.
RFK Takes a Shot at Another Vaccine: Health Secretary Robert F. Kennedy Jr.’s “health” committee will discuss today whether babies should still get the Hepatitis B shot, which has been shown to reduce infections and deaths from the liver disease. Current federal health recommendations say all infants should be vaccinated against Hep B within 24 hours of birth. But RFK’s anti-vax committee thinks the shot should be delayed 2 months for no good reason. According to the Associated Press, in a not-yet-peer-reviewed report, health experts found a delay in vaccination could result in more than 1,400 preventable Hep B infections in kids, 300 liver cancer cases, and 480 deaths in one year of the change. Sen. Patty Murray called on Congress to make RFK appear at a hearing to explain this nonsense, saying ending the vaccine recommendation is “a heartless choice to allow babies to die.”
Defunding Planned Parenthood Blocked: Along with 24 other state attorneys general, Washington Attorney General Nick Brown secured a preliminary injunction on Tuesday from a US District Court in Massachusetts to block the Trump administration from cutting Medicaid reimbursements for Planned Parenthood centers. The cuts would have affected at least 200 health centers nationwide, including 30 Planned Parenthood clinics in Washington, who were looking at about $11.8 million in cuts. The coalition of attorneys general filed a lawsuit in July and filed for a preliminary injunction in September, leading to this week’s decision. The feds have seven days to appeal.
Happy Spotify Wrapped Release to All Who Celebrate: I know, I knowwww… Spotify is doing some fucked up shit—ICE recruitment ads, investing in an AI military tech company, not paying artists fairly, etc. People are boycotting, and they should. But I am weak. I cannot resist the silly little feature that is Spotify Wrapped. I love viewing Instagram stories to see what my friends, acquaintances and enemies have listened to this year. It’s a unifying force, and isn’t that what the holiday season is all about? Coming together over consumerism? …No?
So here’s my gift to you—my top song of 2025. Happy holidays.
Tim Bradshaw: Literals and constants in Common Lisp [Planet Lisp]
Or, constantp is not enough.
Because I do a lot of things with Štar, and for other reasons, I spend a fair amount of time writing various compile-time optimizers for things which have the semantics of function calls. You can think of iterator optimizers in Štar as being a bit like compiler macros: the aim is to take a function call form and to turn it, in good cases, into something quicker1. One important way of doing this is to be able to detect things which are known at compile-time: constants and literals, for instance.
One of the things this has made clear to me is that, like John
Peel, constantp is not enough. Here’s an
example.
(in-row-major-array a :simple t :element-type
'fixnum) is a function call whose values Štar can use
to tell it how to iterate (via row-major-aref) over an
array. When used in a for form, its optimizer would
like to be able to expand into something involving (declare
(type (simple-array fixnum *) ...), so that the details of
the array are known to the compiler, which can then generate fast
code for row-major-aref. This makes a great deal of
difference to performance: array access to simple arrays of known
element types is usually much faster than to general arrays.
In order to do this it needs to know two things:
simple and
element-type keyword arguments are compile-time
constants;You might say, well, that’s what constantp is
for2.
It’s not: constantp tells you only the
first of these, and you need both.
Consider this code, in a file to be compiled:
(defconstant et 'fixnum)
(defun ... ...
(for ((e (in-array a :element-type et)))
...)
...)
Now, constantpwill tell you that et is
indeed a compile-time constant. But it won’t tell you its
value, and in particular nothing says it needs to be bound at
compile-time at all: (symbol-value 'et) may well be an
error at compile-time.
constantp is not enough3!
instead you need a function that tells you ‘yes, this thing
is a compile-time constant, and its value is …’. This
is what literal does4:
it conservatively answers the question, and tells you the value if
so. In particular, an expression like (literal '(quote
fixnum)) will return fixnum, the value, and
t to say yes, it is a compile-time constant. It
can’t do this for things defined with
defconstant, and it may miss other cases, but when it
says something is a compile-time constant, it is. In particular it
works for actual literals (hence its name), and for forms whose
macroexpansion is a literal.
That is enough in practice.
Śtar’s iterator optimizers are not compiler macros, because the code they write is inserted in various places in the iteration construct, but they’re doing a similar job: turning a construct involving many function calls into one requiring fewer or no function calls. ↩
And you may ask yourself, “How do I work this?” / And you may ask yourself, “Where is that large automobile?” / And you may tell yourself, “This is not my beautiful house” / And you may tell yourself, “This is not my beautiful wife” ↩
Here’s something that staryed as a mail message which
tries to explain this in some more detail. In the case of variables
defconstant is required to tell constantp
that a variable is a constant at compile-time but is not required
(and should not be required) to evaluate the initform, let alone
actually establish a binding at that time. In SBCL it does both
(SBCL doesn’t really have a compilation environment). In LW,
say, it at least does not establish a binding, because LW does have
a compilation environment. That means that in LW compiling a file
has fewer compile-time side-effects than it does in SBCL. Outside
of variables, it’s easily possible that a compiler might be
smart enough to know that, given (defun c (n) (+ n
15)), then (constantp '(c 1) <compilation
environment>) is true. But you can’t evaluate
(c 1) at compile-time at all. constantp
tells you that you don’t need to bind variables to prevent
multiple evaluation, it doesn’t, and can’t, tell you
what their values will be. ↩
Part of the org.tfeb.star/utilities
package. ↩
Ben Hutchings: FOSS activity in November 2025 [Planet Debian]

[$] A "frozen" dictionary for Python [LWN.net]
Dictionaries are ubiquitous in Python code; they are the data structure of choice for a wide variety of tasks. But dictionaries are mutable, which makes them problematic for sharing data in concurrent code. Python has added various concurrency features to the language over the last decade or so—async, free threading without the global interpreter lock (GIL), and independent subinterpreters—but users must work out their own solution for an immutable dictionary that can be safely shared by concurrent code. There are existing modules that could be used, but a recent proposal, PEP 814 ("Add frozendict built-in type"), looks to bring the feature to the language itself.
Andreas Schneider has announced version 2.0 of the cmocka unit-testing framework for C:
This release represents a major modernization effort, bringing cmocka firmly into the "modern" C99 era while maintaining the simplicity and ease of use that users have come to expect.
One of the most significant changes in cmocka 2.0 is the migration to C99 standard integer types. The LargestIntegralType typedef has been replaced with intmax_t and uintmax_t from stdint.h, providing better type safety and portability across different platforms. Additionally, we've adopted the bool type where appropriate, making the code more expressive and self-documenting.
Using intmax_t and uintmax_t also allows to print better error messages. So you can now find e.g. assert_int_equal and assert_uint_equal.
cmocka 2.0 introduces a comprehensive set of type-specific assertion macros, including `assert_uint_equal()`, `assert_float_equal()`, and enhanced pointer assertions. The mocking system has also been significantly improved with type-specific macros like `will_return_int()` and `will_return_float()`. The same for parameter checking etc.
LWN covered the project early in its development in 2013. See the full list of new features, enhancements, and bug fixes in cmocka 2.0 in the changelog.
Security updates for Thursday [LWN.net]
Security updates have been issued by AlmaLinux (expat and libxml2), Debian (openvpn and webkit2gtk), Fedora (gi-loadouts, kf6-kcoreaddons, kf6-kguiaddons, kf6-kjobwidgets, kf6-knotifications, kf6-kstatusnotifieritem, kf6-kunitconversion, kf6-kwidgetsaddons, kf6-kxmlgui, nanovna-saver, persepolis, python-ezdxf, python-pyside6, sigil, stb, syncplay, tinyproxy, torbrowser-launcher, ubertooth, and usd), Mageia (cups), SUSE (cups, gegl, icinga2, mozjs128, and Security), and Ubuntu (ghostscript, kernel, linux, linux-aws, linux-aws-5.15, linux-gcp-5.15, linux-hwe-5.15, linux-ibm, linux-ibm-5.15, linux-intel-iotg, linux-intel-iotg-5.15, linux-lowlatency, linux-lowlatency-hwe-5.15, linux-nvidia, linux-nvidia-tegra, linux-nvidia-tegra-5.15, linux-nvidia-tegra-igx, linux-oracle, linux-oracle-5.15, linux-xilinx-zynqmp, linux, linux-aws, linux-aws-hwe, linux-kvm, linux-oracle, linux-aws-fips, linux-fips, linux-aws-fips, linux-fips, linux-gcp-fips, linux-azure-fips, linux-gcp, linux-gcp-4.15, linux-hwe, linux-gcp, linux-gcp-6.8, linux-gke, linux-gkeop, linux-gcp-6.14, linux-raspi, linux-gcp-fips, linux-intel-iot-realtime, linux-realtime, linux-raspi, linux-raspi-realtime, linux-xilinx, and postgresql-14, postgresql-16, postgresql-17).
The 2025 Whatever Holiday Gift Guide, Day Four: Fan Favorites! [Whatever]

For the first three days of the Whatever Gift Guide this year, We’ve had authors and creators tell you about their work. Today is different: Today is Fan Favorites day, in which fans, admirers and satisfied customers share with you a few of their favorite things — and you can share some of your favorite things as well. This is a way to discover some cool stuff from folks like you, and to spread the word about some of the things you love.
Fans: Here’s how to post in this thread. Please follow these directions!
1. Fans only: That means that authors and creators may not post about their own work in this thread (they may post about other people’s work, if they are fans). There are already existing threads for traditionally-published authors, non-traditionally published authors, and for other creators. Those are the places to post about your own work, not here.
2. Individually created and completed works only, please. Which is to say, don’t promote things like a piece of hardware you can find at Home Depot, shoes from Foot Locker, or a TV you got at Wal-Mart. Focus on things created by one person or a small group: Music, books, crafts and such. Things that you’ve discovered and think other people should know about, basically. Do not post about works in progress, even if they’re posted publicly elsewhere. Remember that this is supposed to be a gift guide, and that these are things meant to be given to other people. So focus on things that are completed and able to be sold or shared.
3. One post per fan. In that post, you can list whatever creations you like, from more than one person if you like, but allow me to suggest you focus on newer stuff. Note also that the majority of Whatever’s readership is in the US/Canada, so I suggest focusing on things available in North America. If they are from or available in other countries, please note that!
4. Keep your description of the work brief (there will be a lot of posts, I’m guessing) and entertaining. Imagine the person is in front of you as you tell them about the work and is interested but easily distracted.
5. You may include a link to a sales site if you like by using standard HTML link scripting. Be warned that if you include too many links (typically three or more) your post may get sent to the moderating queue. If this happens, don’t panic: I’ll be going in through the day to release moderated posts. Note that posts will occasionally go into the moderation queue semi-randomly; Don’t panic about that either.
6. Comment posts that are not about fans promoting work they like will be deleted, in order to keep the comment thread useful for people looking to find interesting gifts.
Got it? Excellent. Now: Geek out and tell us about cool stuff you love — and where we can get it too.
Tomorrow: Charities!
Software in the Age of AI [Radar]
In 2025 AI reshaped how teams think, build, and deliver software. We’re now at a point where “AI coding assistants have quickly moved from novelty to necessity [with] up to 90% of software engineers us[ing] some kind of AI for coding,” Addy Osmani writes. That’s a very different world to the one we were in 12 months ago. As we look ahead to 2026, here are three key trends we have seen driving change and how we think developers and architects can prepare for what’s ahead.
New AI tools changed coding workflows in 2025, enabling developers to write and work with code faster than ever before. This doesn’t mean AI is replacing developers. It’s opening up new frontiers to be explored and skills to be mastered, something we explored at our first AI Codecon in May.
AI tools in the IDE and on the command line have revived the debate about the IDE’s future, echoing past arguments (e.g., VS Code versus Vim). It’s more useful to focus on the tools’ purpose. As Kent Beck and Tim O’Reilly discussed in November, developers are ultimately responsible for the code their chosen AI tool produces. We know that LLMs “actively reward existing top tier software engineering practices” and “amplify existing expertise,” as Simon Willison has pointed out. And a good coder will “factor in” questions that AI doesn’t. Does it really matter which tool is used?
The critical transferable skill for working with any of these tools is understanding how to communicate effectively with the underlying model. AI tools generate better code if they’re given all the relevant background on a project. Managing what the AI knows about your project (context engineering) and communicating it (prompt engineering) are going to be key to doing good work.
The core skills for working effectively with code won’t change in the face of AI. Understanding code review, design patterns, debugging, testing, and documentation and applying those to the work you do with AI tools will be the differential.
With the rise of agents and Model Context Protocol (MCP) in the second half of 2025, developers gained the ability to use AI not just as a pair programmer but as an entire team of developers. The speakers at our Coding for the Agentic World live AI Codecon event in September 2025 explored new tools, workflows, and hacks that are shaping this emerging discipline of agentic AI.
Software engineers aren’t just working with single coding agents. They’re building and deploying their own custom agents, often within complex setups involving multi-agent scenarios, teams of coding agents, and agent swarms. This shift from conducting AI to orchestrating AI elevates the importance of truly understanding how good software is built and maintained.
We know that AI generates better code with context, and this is also true of agents. As with coding workflows, this means understanding context engineering is essential. However, the differential for senior engineers in 2026 will be how well they apply intermediate skills such as product thinking, advanced testing, system design, and architecture to their work with agentic systems.
We began 2025 with our January Superstream, Software Architecture in the Age of AI, where speaker Rebecca Parsons explored the architectural implications of AI, dryly noting that “given the pace of change, this could be out of date by Friday.” By the time of our Superstream in August, things had solidified a little more and our speakers were able to share AI-based patterns and antipatterns and explain how they intersect with software architecture. Our December 9 event will look at enterprise architecture and how architects can navigate the impact of AI on systems, processes, and governance. (Registration is still open—save your seat.) As these events show, AI has progressed from being something architects might have to consider to something that is now essential to their work.
We’re seeing successful AI-enhanced architectures using event-driven models, enabling AI agents to act on incoming triggers rather than fixed prompts. This means it’s more important than ever to understand event-driven architecture concepts and trade-offs. In 2026, topics that align with evolving architectures (evolutionary architectures, fitness functions) will also become more important as architects look to find ways to modernize existing systems for AI without derailing them. AI-native architectures will also bring new considerations and patterns for system design next year, as will the trend toward agentic AI.
As was the case for their engineer coworkers, architects still have to know the basics: when to add an agent or a microservice, how to consider cost, how to define boundaries, and how to act on the knowledge they already have. As Thomas Betts, Sarah Wells, Eran Stiller, and Daniel Bryant note on InfoQ, they also “nee[d] to understand how an AI element relates to other parts of their system: What are the inputs and outputs? How can they measure performance, scalability, cost, and other cross-functional requirements?”
Companies will continue to decentralize responsibilities across different functions this year, and AI brings new sets of trade-offs to be considered. It’s true that regulated industries remain understandably wary of granting access to their systems. They’re rolling out AI more carefully with greater guardrails and governance, but they are still rolling it out. So there’s never been a better time to understand the foundations of software architecture. It will prepare you for the complexity on the horizon.
AI has changed the way software is built, but it hasn’t changed what makes good software. As we enter 2026, the most important developer and architecture skills won’t be defined by the tool you know. They’ll be defined by how effectively you apply judgment, communicate intent, and handle complexity when working with (and sometimes against) intelligent assistants and agents. AI rewards strong engineering; it doesn’t replace it. It’s an exciting time to be involved.
Join us at the Software Architecture Superstream on December 9 to learn how to better navigate the impact of AI on systems, processes, and governance. Over four hours, host Neal Ford and our lineup of experts including Metro Bank’s Anjali Jain and Philip O’Shaughnessy, Vercel’s Dom Sipowicz, Intel’s Brian Rogers, Microsoft’s Ron Abellera, and Equal Experts’ Lewis Crawford will share their hard-won insights about building adaptive, AI-ready architectures that support continuous innovation, ensure governance and security, and align seamlessly with business goals.
O’Reilly members can register here. Not a member? Sign up for a 10-day free trial before the event to attend—and explore all the other resources on O’Reilly.
CodeSOD: Pawn Pawn in in Game Game of of Life Life [The Daily WTF]
It feels like ages ago, when document databases like Mongo were all the rage. That isn't to say that they haven't stuck around and don't deliver value, but gone is the faddish "RDBMSes are dead, bro." The "advantage" they offer is that they turn data management problems into serialization problems.
And that's where today's anonymous submission takes us. Our submitter has a long list of bugs around managing lists of usernames. These bugs largely exist because the contract developer who wrote the code didn't write anything, and instead "vibe coded too close to the sun", according to our submitter.
Here's the offending C# code:
[JsonPropertyName("invitedTraders")]
[BsonElement("invitedTraders")]
[BsonIgnoreIfNull]
public InvitedTradersV2? InvitedTraders { get; set; }
[JsonPropertyName("invitedTradersV2")]
[BsonElement("invitedTradersV2")]
[BsonIgnoreIfNull]
public List<string>? InvitedTradersV2 { get; set; }
Let's start with the type
InvitedTradersV2. This type contains a list of strings
which represent usernames. The field
InvitedTradersV2 is a list of strings which represent
usernames. Half of our submitter's bugs exist simply because these
two lists get out of sync- they should contain the same
data, but without someone enforcing that correctly, problems
accrue.
This is made more frustrating by the MongoDB attribute,
BsonIgnoreIfNull, which simply means that the
serialized object won't contain the key if the value is null. But
that means the consuming application doesn't know which key it
should check.
For the final bonus fun, note the use of
JsonPropertyName. This comes from the built-in class
library, which tells .NET how to serialize the object to JSON. The
problem here is that this application doesn't use the built-in
serializer, and instead uses Newtonsoft.JSON, a
popular third-party library for solving the problem. While
Newtonsoft does recognize some built-in attributes for
serialization, JsonPropertyName is not among them.
This means that property does nothing in this example,
aside from add some confusion to the code base.
I suspect the developer responsible, if they even read this code, decided that the duplicated data was okay, because isn't that just a normal consequence of denormalization? And document databases are all about denormalization. It makes your queries faster, bro. Just one more shard, bro.
Grrl Power #1414 – Smaug, minus “a” [Grrl Power]
I may have mentioned this before, but for some reason, jokes about things being load-bearing always land with me. Probably because the only ones I’ve heard are absurdist. I think Brooklyn 99 did one about a balloon arch being load-bearing. Knees are, evolutionarily speaking, load-bearing. All bones are, really. Maybe not the skull, or the lower mandible. I suppose that depends on how you define “load.” But knees are inarguably load-bearing, so my little joke meets my own standard for being absurdist, therefore, I made myself laugh with this one.
Also, not to keep patting myself on the back, but “the most structurally reinforced of women’s knees” (which is an awkward sentence, but I think it’s grammatically correct?) also makes me laugh, because, yes, of course, there are such things as knee braces and in the advanced galaxy, powered armor, but the first thing my mind conjures is something like a woman wearing 6 pairs of pantyhose, or some kind of stocking and garter and flying buttress affair.
In some settings, dragon fire would be just some napalm-ish goo stored in a gland and it’s lit by the dragon clicking their teeth together when they have some flint stuck between their molars. That sort of biological dragon can account for the acid and chlorine breathers, but doesn’t allow for the kind that breath lightning or “cold.” In magical dragon settings, there’s probably more to the breath weapons than some goo in a gland. So dragons would probably have a name for it that sounds cool. Soulfire was the best I could come up with. Which probably happened at a Dragon council meeting, and the Red and Gold and Magma dragons were like “I guess “SoulFire” is the best we can come up with.” And all the other dragons who breathe cold or tornadoes or avalanches or starlight or whatever were all “No! It must be inclusive! EnergyForge!” “What are we? Dwarves?” “How about DragonCore!” “Ug, that sounds like an exercise trend for douchey nobles and High Elves.” “Okay, fine, SoulFire it is, but must we do intercaps?” “The Time Dragon says it will be easier to Duck Duck Go, whatever that means.”
Kobold Sydney vote incentive! Is finally done!
So… you know, check it out. Oh, and as usual, Patreon has a scales only version.
Double res version will be posted over at Patreon. Feel free to contribute as much as you like.
Simple and obvious… or nuanced and complicated? [Seth's Blog]

Some choices seem obvious, while others demand care and insight.
And some offerings are simple, while others have depth and multiple variables.
As you’ve probably guessed, the choices that are simple and obvious tend to do best in the mass market.
Where did you get your cup of coffee this morning? Did you visit a drive through Dutch Bros. or did you use a lever pull at home to pull a shot with beans you roasted and brewed yourself?
Most successful politicians and movements start in the bottom left and move their way toward simple and obvious.
Successful social media platforms race to the top right hand corner, but the most interesting and generative content online is probably not there…
Choose your quadrants carefully.
Come And Get Us [George Monbiot]
Corporations and oligarchs are using offshore courts to tear down democratic decisions – and our governments say “welcome”.
By George Monbiot, published in the Guardian 1st December 2025
How do you reckon our political system works? Perhaps something like this. We elect MPs. They vote on bills. If a majority is achieved, the bills becomes law. The law is upheld by the courts. End of story. Well, that’s how it used to work. No longer.
Today, foreign corporations, or the oligarchs who own them, can sue governments for the laws they pass, at offshore tribunals composed of corporate lawyers. The cases are held in secret. Unlike our courts, these tribunals allow no right of appeal or judicial review. You or I cannot take a case to them, nor can our government, or even businesses based in this country. They are open only to corporations based overseas.
If a tribunal determines that a law or policy may compromise the corporation’s projected profits, it can award damages of hundreds of millions, even billions. These sums represent not actual losses, but money the arbitrators decide the company might otherwise have made. The government may have to abandon its policy. It will be discouraged from passing future laws along the same lines, for fear of being sued.
Record numbers of cases are being brought, as corporations learn from each other, and hedge funds finance suits in return for a share of the takings. The result? Sovereignty and democracy are becoming unaffordable.
The process is known as “investor-state dispute settlement” (ISDS). The reason it is allowed to override domestic law and the decisions made by parliaments is that this provision has been written – without public consent, and often in conditions of extreme secrecy – into trade treaties.
A year ago, Friends of the Earth won a great victory at the high court. The judge ruled that plans to dig the first deep coalmine in the UK for 30 years, at Whitehaven in Cumbria, had been unlawfully approved by the Conservative government, which had accepted the bizarre claim that the mine would have no impact on our carbon budgets. The Labour government then withdrew the permission the Tories had granted. Now this victory could be reversed by an offshore tribunal answering to no one but the corporations petitioning it.
In August, a company whose ultimate owners are based in the Cayman Islands lodged a claim against the UK government. Last week a tribunal in Washington DC was set up to hear it.
The company is suing the UK for the money it might have made if the mine had been allowed to go ahead. We have no idea how much this might be. Who is representing it against the British government? The MP for Torridge and Tavistock, and former attorney-general in the Conservative government, that great patriot Geoffrey Cox. The government makes a decision, the high court upholds it, then a foreign company challenges it through an undemocratic offshore tribunal, and a member of our parliament acts on its behalf.
On the same day (18 November) that the tribunal on the coalmine case was appointed, we learned from a parliamentary answer that the UK is also being sued under ISDS by a Russian oligarch, Mikhail Fridman. We know nothing of the case so far, but it seems likely that he’ll use the tribunal to challenge the sanctions the UK levied against him after the invasion of Ukraine. He has already started suing Luxembourg for this reason, demanding $16bn (£12.1bn): half that government’s annual revenue. Among the lawyers representing him there? Cherie Blair, wife of the former British prime minister.
Legal experts believe the EU’s delay in using frozen Russian assets as collateral for its loan to Ukraine arises from Belgium’s fear that it could be sued in the offshore corporate courts, under the Belgium/Luxembourg-Russia bilateral investment treaty. This extraordinary, undemocratic power over elected governments could be blocking the money Ukraine desperately needs.
We were assured that such things wouldn’t happen. In 2014, David Cameron, promoting the biggest and most dangerous of all such treaties, told us: “We’ve signed trade deal after trade deal and there has never been a problem in the past.” The House of Lords adviser on this issue, Prof Dennis Novy, accused campaigners of “scaremongering … in reality, ISDS does not affect the UK much”. The overall message seemed to be that only poorer nations needed to fear these lawsuits. I warned, to general mockery, that “as corporations begin to understand the power they’ve been granted, they will turn their attention from the weak nations to the strong ones”.
That threat has now materialised. This year, fossil fuel and mining firms have lodged a record number of suits against nations rich and poor, challenging – as in the case of the Cumbrian coalmine – government attempts to stop climate breakdown. Corporations have so far won $114bn (£86bn) through ISDS, of which fossil fuel companies have secured $84bn (£64bn). That equates to the combined GDP of the world’s 45 smallest economies. The average payout these companies have received is $1.2bn (£910m). In some cases they threaten to suck the poorest nations dry. This is climate finance in reverse: huge payments to fossil fuel corporations from governments with the temerity to try to stop an existential crisis.
These suits also exert a major chilling effect on governments that would like to go further. France, Denmark and New Zealand have all curbed their climate ambitions for fear of lawsuits, and there are likely many more.
We gain nothing from these treaty provisions. A meta-study in 2020 found that, when it comes to encouraging foreign investment, the “effect of international investment agreements is so small as to be considered zero”. A report commissioned by the UK government in 2013 found that ISDS was “highly unlikely to encourage investment” and was “likely to provide the UK with few or no benefits”.
Yet Keir Starmer’s government shuts its ears. It has reportedly been trying to push an ISDS mechanism into the investment treaty it is negotiating with India, and into the other trade treaties it is working on. We cannot know for sure, because they’re being negotiated in total secrecy. You could almost believe there were things the government didn’t want us to see. It refuses to talk to campaigners or to offer more information.
We have twice beaten attempts to extend ISDS, through vast popular movements against the multilateral agreement on investment and the Transatlantic Trade and Investment Partnership. Now we will need to mobilise again: this time against our own government, which seems to care more for foreign corporations than it does for us.
www.monbiot.com
Diabetes [Judith Proctor's Journal]
My first group diabetes talking session is later today.
I'm going to be the thinnest diabetic in the room by far. (because most of the others are likely to have type 2 diabetes)
My weight has fallen gradually over the last few years (which I now know was due to my body finding it harder to produce enough insulin), but not feeling like eating when I had the flu has brought me to an adult lifetime low of 48.4kg which is definitely too low.
The trouble is partly that I'm tired, my asthma is still bad (I've just started on a steroid course) and I can't seem to get interested in food.
I've put a small bowl of mixed nuts by my computer to encourage nibbling. I've asked my husband to offer me fruit whenever he has some (nibbling a persimmon right now).
I'm open to ideas...
I tending to eat small quantities, I really need more, but I just don't feel hungry....
I don't think it's anorexia - I like the way I look. I've been this shape (well, with nearer 550kg) all my adult life, and I'm very happy with it
I'll let you know if the person running the meeting has any suggestions! Meanwhile, I can at least have a guilt-free square of quality chocolate.
The December Comfort Watches 2025, Day Three: The Untouchables [Whatever]

I never quite got Brian De Palma. An unquestionably talented director, he knew how to make a hit — see Carrie and the first Mission Impossible film — and if he was going to fail, he was going to do it on a scale so grand that people would write books about it (The Bonfire of the Vanities). He was brash, steeped in film lore, and more than happy to make sure you knew when he was showing off, which was often; what were Body Double and Blow Out other than him paying homage to, and then trying to one up, Hitchcock and Antonioni? The chutzpah! The actual brass balls on this guy!
Some people loved it (Pauline Kael, for one, seemed to eat it up, and who was going to argue with her), but I was, and, I have to say, still am, largely unimpressed. Scratch a De Palma film and you’ll very often find there’s no there there — it’s mostly just surface flash and thrill and some very intentional shock and subversion, all very mannered and very little with any resonance. Outside of Carrie — which made household names out of De Palma, Stephen King and Sissy Spacek all in one go — it’s debatable that De Palma ever made a truly classic movie, a world-beating piece of celluloid that is studied for its quality over its kitsch.
(And yes, my dudes, I see you standing up on a table full of cocaine, beating your chest over Scarface and telling me to say hello your little friend. Grand Guignol as it is, what it has going for it is excess. It’s a lot, and I found it tiring, and when Tony Montana finally ended up face down in the water, what I remember thinking was good, now I get to go home.)
So: Brian De Palma. Mostly, not for me! Maybe for you, fine, okay, you do you! But not for me!
Ahhhh, but then there’s The Untouchables. And suddenly, for length of this one single film, Brian De Palma is indeed very much for me.
Come with me now to 1930 Chicago, smack dab in the middle of prohibition, and Treasury Officer Elliot Ness (Kevin Costner, stalwart) has come into town to take on the bootleggers and gangsters, two groups with, shall we say, a rather substantial overlap. Ness has little success at it until he comes across beat cop Jimmy Malone (Sean Connery, the most Scottish Irish cop ever), who knows where all the bodies are buried around town, and where the rum is being run. Together with their small and select team (Andy Garcia, in one of his first big roles, and Charles Martin Smith as comedy relief, until he isn’t), they take on Al Capone (Robert De Niro) the celebrated gangster who is loved by the press, despite the fact that he’ll happily blow up a kid or two if that’s what it takes to keep his grip on the town.
It’s a rich setting, and of course this film is not the first time the prohibition era had been essayed — heck, The Untouchables itself was an update of a late 50s TV series starring Robert Stack. The film was treading a path that had been trod upon many times before. This reappraisal and reinvention of film and television tropes was nothing new to De Palma, who had by this time had homaged directors and source material, including Scarface (originally a 1932 movie starring Paul Muni), and he would go on to retread Mission Impossible. The Untouchables, as a property and as a mode of storytelling, was old hat, both for De Palma or for the culture at large. So what is it that sets this movie apart?
Weirdly — no really, weirdly, because this is a film where one character bashes in the head of another character with a baseball bat — I think what makes this film work is restraint. Brian De Palma is Brain De Palma-ing himself all over this film, with all his stylistic tics and touches and his oh-look-do-you-see-how-I’m-referencing-Eisenstein-aren’t-I-so-very-clever-ness, but he’s doing it at about an 8, rather than an 11. Yes, there is that (rather famous) scene involving a baseball bat, but here’s the thing: what makes it shocking isn’t the assault, it’s the context. De Palma shows us enough of the assault (and the aftermath) to make the point, but, unlike, say, Scarface, there’s no lingering. De Palma gets in, gets what the scene needs, and gets out.
Now, I am going to accept there is skepticism for this thesis of mine. The Untouchables does not exactly skimp on the blood or the occasional shot of someone’s brains all over a window pane. This is a movie that rather handily earns it “R” rating. But my argument is that in these cases it’s not about quantity, it is about quality. Those brains on the window pane are actually in service to the story. They are just enough to fill in the scene, and then we’re moving on. For De Palma, for whom so much of his directorial style is basically more, of whatever it is, not just blood although certainly blood too, this sort of restraint in the service of story feels a little revolutionary. Turns out you can do a whole lot, if you’re not trying to bludgeon your audience into sensory overload.
De Palma didn’t have to drive his audience into sensory overload in no small part because the whole affair is just so incredibly handsomely mounted. The script, by David Mamet before his metaphorical cheese starting slipping off his metaphorical cracker, is sharp and pithy and melodramatic as hell. The set design offers up a version of Chicago that is a beautiful fable — 1930 Chicago didn’t look like this but how wonderful it would have been if it had. The wardrobe — the wardrobe! — is done by Georgio fucking Armani, and by God you can tell, everyone looks so ridiculously good. You can pause the movie at just about any point where there’s not blood being sprayed about, and it will look like a fashion shoot. It’s all so good that the terrific Ennio Morricone score is almost an afterthought. Almost.
And then there’s the cast. Sean Connery won an Oscar for his portrayal of a cop past his prime who decides to do the right thing, even if he knows how little good it will do, and as it’s the film’s only Oscar, it’s not unreasonable that this performance is what the film is remembered for. With that given, I will yet argue that this is Kevin Costner’s movie. It’s hard to remember on this side of Field of Dreams and Dances With Wolves and even Yellowstone, but this is the film that made Kevin Costner an actual star; before this he was playing corpses (The Big Chill, out of which he was mostly cut) and second bananas (Silverado).
In Elliot Ness, Costner found the character he’d carry forward: The compelling square, the do-right stiff you can’t actually take your eyes off of. He’d occasionally tilt off this character, mostly when Ron Shelton needed him to play a gone-to-seed sportsman, but it’s pretty clear that with The Untouchables, Costner learned how his bread would be buttered going forward. He went with it for a good long while.
As for De Niro as Al Capone; well, scenery is chewed, and the chewing is delicious.
The Untouchables is the one Brian De Palma movie I unreservedly love, and enjoy, and rewatch, but this is not to say it is a great film. Even Pauline Kael, famously a De Palma champion, understood this; she wrote that The Untouchables was “not a great movie; it’s too banal, too morally comfortable… But it’s a great audience movie — a wonderful potboiler.” This is exactly right. Not every film has to be great, sometimes “just really goddamned good” is good enough. It just needs every good thing in proportion, and for the director to understand when enough is enough.
For this one film, Brian De Palma seemed be content with just “enough.” It wouldn’t last, and that’s fine. It didn’t have to.
— JS

just a regular girl
Testy About Teslas [The Stranger]
Want to change the rapidly solidifying stereotype of the Seattle-area Tesla driver? by Anonymous
Dear Seattle-Area Tesla Drivers,
You’ve probably noticed that your stickers aren’t helping. No one cares when you bought your Tesla or how you feel about the company’s CEO. No one is impressed that you’re using electricity instead of gas. That would have made your car special in 2012, but in Seattle in 2025? Not so much.
Those stickers have done little to deter the glares and middle fingers you so richly deserve, and you’re not willing to sell your car because—for some inexplicable reason—Tesla resale values are way down. What could possibly be the reason for all this hatred? What else could you possibly do?
Fortunately, there is something you can do. There is a concrete action you can take that the rest of us would truly, deeply appreciate:
FUCKING PAY ATTENTION TO WHAT YOU’RE FUCKING DOING YOU NARCISSISTIC FUCK
Every day, I see Tesla drivers more focused on their navigation screens than the world around them. Or hypnotized by their goddamn phones. Or just high on the absolute certainty that the world revolves around them. Hey techbros and techmoms! You're operating dangerous heavy machinery! Start fucking acting like it! We are all trying to use the shitty infrastructure we have to the best of our abilities, and you are making everything worse.
One of you idiots backed out of a parking space at what seemed like freeway speed, ramming directly into me and my unmoving car. (Each new electric vehicle bigger and more powerful than the last! What could go wrong?) I guess this particular idiot couldn’t be bothered to (a) look in one of their three mirrors, (b) glance at the 55-inch dashboard display showing their backup camera feed, or (c) look over their goddamn shoulder to see if there was anyone behind them.
Want to change the rapidly solidifying stereotype of the Seattle-area Tesla driver? (Half as situationally aware as Priuses and twice as dangerous!) Then please: learn to drive like someone who isn’t a totally clueless, totally self-absorbed asshole.
Yours in exasperation,
Other Fucking People Who Do In Fact
Exist
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.
Cro provides commentary on LWN's Zig asynchronicity article [LWN.net]
Loris Cro has published a detailed YouTube video talking about the terminology used to discuss asynchronicity, concurrency, and parallelism in our recent article about Zig's new Io interface. Our article is not completely clear because it uses the term "asynchronous I/O" to refer to what should really be called "non-blocking I/O", and sometimes confuses asynchronicity for concurrency, among other errors of terminology, he says. Readers interested in precise details about Zig's approach and some of the motivation behind the design may find Cro's video interesting.
[$] LWN.net Weekly Edition for December 4, 2025 [LWN.net]
Inside this week's LWN.net Weekly Edition:
Axon Tests Face Recognition on Body-Worn Cameras [Deeplinks]
Axon Enterprise Inc. is working with a Canadian police department to test the addition of face recognition technology (FRT) to its body-worn cameras (BWCs). This is an alarming development in government surveillance that should put communities everywhere on alert.
As many as 50 officers from the Edmonton Police Department (EPD) will begin using these FRT-enabled BWCs today as part of a proof-of-concept experiment. EPD is the first police department in the world to use these Axon devices, according to a report from the Edmonton Journal.
This kind of technology could give officers instant identification of any person that crosses their path. During the current trial period, the Edmonton officers will not be notified in the field of an individual’s identity but will review identifications generated by the BWCs later on.
“This Proof of Concept will test the technology’s ability to work with our database to make officers aware of individuals with safety flags and cautions from previous interactions,” as well as “individuals who have outstanding warrants for serious crime,” Edmonton Police described in a press release, suggesting that individuals will be placed on a watchlist of sorts.
FRT brings a rash of problems. It relies on extensive surveillance and collecting images on individuals, law-abiding or otherwise. Misidentifications can cause horrendous consequences for individuals, including prolonged and difficult fights for innocence and unfair incarceration for crimes never committed. In a world where police are using real-time face recognition, law-abiding individuals or those participating in legal, protected activity that police may find objectionable — like protest — could be quickly identified.
With the increasing connections being made between disparate data sources about nearly every person, BWCs enabled with FRT can easily connect a person minding their own business, who happens to come within view of a police officer, with a whole slew of other personal information.
Axon had previously claimed it would pause the addition of face recognition to its tools due to concerns raised in 2019 by the company’s AI and Policing Technology Ethics Board. However, since then, the company has continued to research and consider the addition of FRT to its products.
This BWC-FRT integration signals possible other FRT integrations in the future. Axon is building an entire arsenal of cameras and surveillance devices for law enforcement, and the company grows the reach of its police surveillance apparatus, in part, by leveraging relationships with its thousands of customers, including those using its flagship product, the Taser. This so-called “ecosystem” of surveillance technologyq includes the Fusus system, a platform for connecting surveillance cameras to facilitate real-time viewing of video footage. It also involves expanding the use of surveillance tools like BWCs and the flying cameras of “drone as first responder” (DFR) programs.
Face recognition undermines individual privacy, and it is too dangerous when deployed by police. Communities everywhere must move to protect themselves and safeguard their civil liberties, insisting on transparency, clear policies, public accountability, and audit mechanisms. Ideally, communities should ban police use of the technology altogether. At a minimum, police must not add FRT to BWCs.
After Years of Controversy, the EU’s Chat Control Nears Its Final Hurdle: What to Know [Deeplinks]
After a years-long battle, the European Commission’s “Chat Control” plan, which would mandate mass scanning and other encryption-breaking measures, at last codifies agreement on a position within the Council of the EU, representing EU States. The good news is that the most controversial part, the forced requirement to scan encrypted messages, is out. The bad news is there’s more to it than that.
Chat Control has gone through several iterations since it was first introduced, with the EU Parliament backing a position that protects fundamental rights, while the Council of the EU spent many months pursuing an intrusive law-enforcement-focused approach. Many proposals earlier this year required the scanning and detection of illicit content on all services, including private messaging apps such as WhatsApp and Signal. This requirement would fundamentally break end-to-end encryption.
Thanks to the tireless efforts of digital rights groups, including European Digital Rights (EDRi), we won a significant improvement: the Council agreed on its position, which removed the requirement that forces providers to scan messages on their services. It also comes with strong language to protect encryption, which is good news for users.
But here comes the rub: first, the Council’s position allows for “voluntary” detection, where tech platforms can scan personal messages that aren’t end-to-end encrypted. Unlike in the U.S., where there is no comprehensive federal privacy law, voluntary scanning is not technically legal in the EU, though it’s been possible through a derogation set to expire in 2026. It is unclear how this will play out over time, though we are concerned that this approach to voluntary scanning will lead to private mass-scanning of non-encrypted services and might limit the sorts of secure communication and storage services big providers offer. With limited transparency and oversight, it will be difficult to know how services approach this sort of detection.
With mandatory detection orders being off the table, the Council has embraced another worrying system to protect children online: risk mitigation. Providers will have to take “all reasonable mitigation measures” to reduce risks on their services. This includes age verification and age assessment measures. We have written about the perils of age verification schemes and recent developments in the EU, where regulators are increasingly focusing on AV to reduce online harms.
If secure messaging platforms like Signal or WhatsApp are required to implement age verification methods, it would fundamentally reshape what it means to use these services privately. Encrypted communication tools should be available to everyone, everywhere, of all ages, freely and without the requirement to prove their identity. As age verification has started to creep in as a mandatory risk mitigation measure under the EU’s Digital Services Act in certain situations, it could become a de facto requirement under the Chat Control proposal if the wording is left broad enough for regulators to treat it as a baseline.
Likewise, the Council’s position lists “voluntary activities” as a potential risk mitigation measure. Pull the thread on this and you’re left with a contradictory stance, because an activity is no longer voluntary if it forms part of a formal risk management obligation. While courts might interpret its mention in a risk assessment as an optional measure available to providers that do not use encrypted communication channels, this reading is far from certain, and the current language will, at a minimum, nudge non-encrypted services to perform voluntary scanning if they don’t want to invest in alternative risk mitigation options. It’s largely up to the provider to choose how to mitigate risks, but it’s up to enforcers to decide what is effective. Again, we're concerned about how this will play out in practice.
For the same reason, clear and unambiguous language is needed to prevent authorities from taking a hostile view of what is meant by “allowing encryption” if that means then expecting service providers to implement client-side scanning. We welcome the clear assurance in the text that encryption cannot be weakened or bypassed, including through any requirement to grant access to protected data, but even greater clarity would come from an explicit statement that client-side scanning cannot coexist with encryption.
As we approach the final “trilogue” negotiations of this regulation, we urge EU lawmakers to work on a final text that fully protects users’ right to private communication and avoids intrusive age-verification mandates and risk benchmark systems that lead to surveillance in practice.
On recreating the lost SDK for a 42-year-old operating system: VisiCorp VisiOn [OSnews]
I would think most of us here at OSNews are aware of VisiOn, the graphical multitasking operating system for the IBM PC which was one of the first operating systems with a graphical user interface, predating Windows, GEM, the Mac, and even the Apple Lisa. While VisiOn was technically an “open” platform anybody could develop an application for, the operating system’s SDK cost $7000 at the time and required a VAX system. This, combined with VisiOn failing in the market, means nobody knows how to develop an application for it.
Until now. Over the past few months, Nina Kalinina painstakingly unraveled VisiOn so that she she could recreate the SDK from scratch. In turn, this allowed developer Atsuko to develop a clean-room application for VisiOn – which is most likely the very first third-party application ever developed and released for VisiOn. I’ve been following along with the pains Kalinina had to go through for this endeavour over on Fedi, and it sure was a wild ride few would be willing (and capable) to undertake.
It took me a month of working 1-2 hours a day to produce a specification that allowed Atsuko to implement a clean-room homebrew application for VisiOn that is capable of bitmap display, menus and mouse handling.
If you’re wondering what it felt like: this project is the largest “Sudoku puzzle” I have ever tried to solve. In this note, I have tried to explain the process of solving this puzzle, as well as noteworthy things about VisiOn and its internals.
↫ Nina Kalinina
The article contains both a detailed look at VisiOn, as well as the full process of recreating its SDK and developing an application with it. Near the end of the article, after going over all the work that was required to get here, there’s a sobering clarification:
This reverse-engineering project ended up being much bigger than I anticipated. We have a working application, yes, but so far I’ve documented less than 10% of all the VisiHost and VisiOp calls. We still don’t know how to implement keyboard input, or how to work with timers and background processes (if it is possible).
↫ Nina Kalinina
I’d love for more people to be interested in helping this effort out, as it’s not just an extremely difficult challenge, but also a massive contribution to software preservation. VisiOn may not be more than a small footnote in computing history, but it still deserves to be remembered and understood, and Kalinina and Atsuko have done an amazing amount of legwork for whomever wants to pick this up, too.
Google is experimentally replacing news headlines with AI clickbait nonsense [OSnews]
Did you know that BG3 players exploit children? Are you aware that Qi2 slows older Pixels? If we wrote those misleading headlines, readers would rip us a new one — but Google is experimentally beginning to replace the original headlines on stories it serves with AI nonsense like that.
↫ Sean Hollister at The Verge
I’m a little teapot, short and stout. Here is my handle, here is my spout. When I get all steamed up, hear me shout. Tip me over and pour me out!
Micron is ending its consumer RAM business because of “AI” [OSnews]
You may have noticed that due to “AI” companies buying up all literally all the RAM in the world, prices for consumer RAM and SSDs have gone completely batshit insane. Well, it’s only going to get worse, since Micron has announced it’s going to exit the market for consumer RAM and is, therefore, retiring its Crucial brand. The reason?
You know the reason.
“The AI-driven growth in the data center has led to a surge in demand for memory and storage. Micron has made the difficult decision to exit the Crucial consumer business in order to improve supply and support for our larger, strategic customers in faster-growing segments,” said Sumit Sadana, EVP and Chief Business Officer at Micron Technology.
↫ Micron’s press release
First it was the crypto pyramid scheme, and now it’s the “AI” pyramid scheme. These MLMs for unimpressive white males who couldn’t imagine themselves out of a wet paper bag are ruining not just the environment, software, and soon the world’s economy when the bubble pops, but are now also making it extraordinarily expensive to buy some RAM or a bit of storage. Literally nothing good is coming from these techbro equivalents of Harlequin romance novels, and yet, we’re forced to pretend they’re the next coming of the railroads every time some guy who was voted most likely to die a middle manager at Albertsons in Casper, Wyoming, farts his idea out on a napkin.
I am so tired.
A New Scalzi Plot, No, Not That Kind, the Other Kind [Whatever]


See this plot of land, or more accurately in this picture, this plot of snow? It’s the plot that lies directly east of our church property. There had been a house here for many years but a couple of years ago there was a fire, and the house had to be demolished. For some time after that the plot was undeveloped and then, a few weeks ago, it went up for sale.
We bought it.
Why? Because it’s adjacent to our church property, it was within our budget and it potentially gives us room to do some cool stuff. It’s the third expansion of our property since we first made an offer on the church in 2021; we added the parsonage before we closed on the church, then the house directly north, which we tore down because it was in disrepair, making the land a side yard and parking lot for the church, and now this plot to the east. I’m pretty sure this is it for land acquisition near the church, and our land acquisition in general. I don’t want to keep buying up land like I’ve been buying guitars.
So what will we be doing with this plot of land? For the moment, not much. It’s winter now and it’s covered in several inches of snow, and there’s a reasonable chance, given the fact we’re not even in the cold part of the season yet, that the snow will stay (or be added to) for the next couple of months at least. That’s fine. After that, the short term plan will be to seed for ground cover and local pollinating plants and let the bees and birds at it for a while. Beyond that, we’ll see. Now that we own it we have time to think on the best use for it, for us and for the community. We have some ideas, but they’re all very preliminary (i.e., we haven’t actually considered how much work they would require and how much they might cost). In the meantime all we have to do with it is keep it maintained and not an eyesore. We can manage that for sure.
So, merry Christmas to us, we got land this holiday season. Again. Next year, I think we will just get each other socks.
— JS
Stranger Things [Penny Arcade]
They kept making them even after I stopped watching them, and now they made even more, at such a late hour that some of the cast are ambulatory skeletons and the rest have AARP cards. I grew up in the "historical period" Stranger Things takes place in, so there's always a certain amount of stuff you just gotta put up with I guess. The things that bother me are - for the sixteen year old that lives here - pure retro candy. But, seriously though: I was under the impression that we all thought season three was kinda ahh.
Redox takes first baby steps towards a modesetting driver for Intel graphics [OSnews]
An exciting tidbit of news from Redox, the Rust-based operating system. Its founder and lead developer Jeremy Soller has merged the first changes for a modesetting driver for Intel graphics.
After a few nights of reading through thousands of pages of PRMs I have finally implemented a modesetting driver for Intel HD graphics on Redox OS. There is much more to do, but there is now a clear path to native hardware accelerated graphics!
↫ Jeremy Soller
Of course, all the usual disclaimers apply, but it’s an important first step, and once again underlines that Redox is turning into a very solid platform that might just be on the cusp of becoming something we can use every day.
MacOS: losing confidence [OSnews]
It’s always a bit sad and a little awkward when reality starts hitting long-time fans and users of an operating system, isn’t it? I feel like I’m at least fifteen years ahead of everyone else when it comes to macOS, at least.
Over the last few weeks I’ve been discovering problems that have been eroding confidence in macOS. From text files that simply won’t show up in Spotlight search, to Clock timers that are blank and don’t function, there’s one common feature: macOS encounters an error or fault, but doesn’t report that to the user, instead just burying it deep in the log.
When you can spare the time, the next step is to contact Apple Support, who seem equally puzzled. You’re eventually advised to reinstall macOS or, in the worst case, to wipe a fairly new Apple silicon Mac and restore it in DFU mode, but have no reason to believe that will stop the problem from recurring. You know that Apple Support doesn’t understand what’s going wrong, and despite the involvement of support engineers, they seem as perplexed as you.
↫ Howard Oakley
I remember when Mac OS X was so far ahead of the competition it was honestly a little tragic. Around the late PowerPC and very early Intel days, when the iPhone hadn’t yet had the impact on the company it has now, the Mac and its operating system were the star of the company’s show, and you felt it when you used it. Even though the late PowerPC hardware was being outpaced left, right, and centre by Intel and AMD hardware in virtually every sense, Mac OS X more than made up for it being being a carefully and lovingly crafted operating system designed and developed by people who clearly deeply cared.
I used nothing but Macs as a result.
These days, everything’s reversed. By all accounts, Macs are doing amazing hardware-wise, with efficient, powerful processors and solid design. The operating system, however, has become a complete and utter mess, showing us that no, merely having great hardware does not make up for shit software in the same way the reverse was true two decades ago. I’d rather use a slower, hotter laptop with great software than a faster, cooler laptop with terrible software.
I’m not sure we’re going to see this trend reversed any time soon. Apple, too, is chasing the dragon, and everything the company does is designed around their cash cow, and I just don’t see how that’s going to change without a complete overhaul of the company’s leadership.
Why is running Linux on a RiscPC so hard? [OSnews]
What if you have a Risc PC, but aside from RISC OS, you also want to run Linux? Well, then you have to jump through a lot of hoops, especially in 2025.
Well, this was a mess. I don’t know why Potato is so crashy when I install it. I don’t know why the busybox binary in the Woody initrd is so broken. But I’ve got it installed, and now I can do circa-2004 UNIX things with a machine from 1994.
↫ Jonathan Pallant
The journey is definitely the most rewarding experience here for us readers, but I’m fairly sure Pallant is just happy to have a working Linux installation on his Risc PC and wants to mostly forget about that journey. Still, reading about the Risc PC is very welcome, since it’s one of those platforms you just don’t hear about very often between everyone talking about classic Macs and Commodore 64s all the time.
Rep. Shaun Scott Wants to Fight Trump Cuts with a Statewide Payroll Tax [The Stranger]
Scott introduced a small package of bills to make up for the cuts in Trump’s “Big Beautiful Bill,” but the “Well Washington Fund” is the centerpiece. The payroll tax is similar to Seattle’s, which raked in more than $1 billion over its five-year existence and kept the city above water in the pandemic years. by Nathalie Graham
The press conference on the steps of Washington’s Capitol Building was lowkey hostile. After Rep. Shaun Scott announced his bill to create a statewide payroll tax for high-earners, right-wing journalists peppered him with whataboutisms.
Scott introduced a small package of bills to make up for the cuts in Trump’s “Big Beautiful Bill,” but the “Well Washington Fund” is the centerpiece. The payroll tax is similar to Seattle’s, which raked in more than $1 billion over its five-year existence and kept the city above water in the pandemic years.
Like Jumpstart, a payroll tax on Seattle employees earning $150,000 or more, Scott would tax US-based companies with more than 20 employees and $5 million in total income. The bill would put a tax on salaries above $125,000 a year. Scott compared it to the Medicare payroll tax that high-earning employees already pay. The only difference is this time, their employer is on the hook.
Scott says the tax could raise up to $3 billion each year. Of that, 51 percent will be distributed to “higher education, energy and economic development, food assistance via the supplemental nutrition assistance program (SNAP), and health care.” The remainder will pad the state’s general fund. We could use the money. Washington is facing a $390 million budget shortfall this year, and a $1.1 billion hole in the two year budget cycle in between 2027 and 2029.
The state also has big beautiful cuts to worry about—cuts to higher education, the environmental sector and clean energy, food stamps, and Medicare, $50 billion over the next decade in Washington alone, Scott said.
“The way for Washingtonians to fight back is to build a bolder Washington, a Washington that defends the programs that people depend on, while the other Washington defunds them,” Scott said. He mentioned his bill could be a step forward toward fixing Washington’s regressive tax code. At mention of the regressive tax code, a baby in the crowd wailed.
Still broken by Boeing’s departure, Republican lawmakers, immune to the screams of babes and vulnerable to the cries of the moneyed, worry businesses will pack up and leave.
“Do you understand that there is a likelihood that businesses could decide—Microsoft just said they would—to move jobs out of the state. Are you concerned about that?” asked right-wing influencer Brandi Kruse.
It’s a familiar refrain.
“We have seen many times in the state legislature, the threat of jobs being relocated hung over the head of state lawmakers,” Scott said. “[Boeing] shook the state legislature down for the single largest corporate welfare package that was granted by a state government in the history of the Republic. And then they moved the jobs anyway.”
Emily Vyhnanek, an advocate for tax and economic justice at the Budget and Policy Center, says when facing new taxes, it’s common for companies to threaten an out of state move. They also lobby. Last year, when Democrats introduced a suite of progressive taxation bills to alleviate a budget shortfall between $12 to $16 billion, six of the largest companies in Washington—including Amazon, Microsoft, and T-Mobile—poured $2.1 million into a political action committee opposing the bills.
But it’s an empty threat. It’s not that easy to pick up and leave our talent pool behind. Life here is pretty good, in-part because of state funded-infrastructure like public transportation, affordable early learning programs, and paid family and medical leave.
Vyhnanek said the 2019-era Workforce Education Investment was a prime example of the support that keeps people here.
“It includes a wide range of workforce development programs, including scholarships and career connections designed to encourage students in technical and community colleges to pursue degrees and certifications in high-demand fields,” Vyhnanek says.
Additionally, the tax burden on the top percent of companies wouldn’t be felt as hard because of Trump, according to Vyhnanek. The Big Beautiful Bill included $148 billion in tax breaks for ultra-wealthy companies including locals like Microsoft, Amazon, and Meta.
“The perspective that you are speaking from,” Scott said to Kruse, “frankly is very well represented in the state legislature by the major corporations that have spent millions over the years lobbying the state legislature, and they expect a return on investment.”
That well-represented point of view threatens the Well Washington Fund’s survival. That, and some residual tax shyness. Last session, Democrats pushed through billions in new taxes, including higher business taxes, more sales taxes, and a broadened nicotine tax this past session to balance a very unbalanced budget.
Similar legislation floundered then, too. Sen. Rebecca Saldaña, who is co-sponsoring Scott’s bill, introduced legislation that attempted to do the same thing as the Well Washington Fund—adopt a statewide high-earners payroll tax. Despite making it to the Senate and House floors, the bill sputtered out and died.
Scott believes this time it’ll be different. He’s had a few “promising” conversations. Additionally, he said part of why Saldaña’s bill failed was because legislators didn’t know the full economic impact of Trump’s “Big Beautiful Bill” and other federal funding cuts.
“Now that we have that policy making context…my hope is that there's going to be an added sense of urgency,” Scott said.
Reproducible Builds: Reproducible Builds in November 2025 [Planet Debian]
Welcome to the report for November 2025 from the Reproducible Builds project!
These monthly reports outline what we’ve been up to over the past month, highlighting items of news from elsewhere in the increasingly-important area of software supply-chain security. As always, if you are interested in contributing to the Reproducible Builds project, please see the Contribute page on our website.
In this report:
On Friday 8th November, Chris Lamb gave a talk called 10 years of Reproducible Builds at SeaGL in Seattle, WA.
Founded in 2013, SeaGL is a free, grassroots technical summit dedicated to spreading awareness and knowledge about free source software, hardware and culture. Chris’ talk:
[…] introduces the concept of reproducible builds, its technical underpinnings and its potentially transformative impact on software security and transparency. It is aimed at developers, security professionals and policy-makers who are concerned with enhancing trust and accountability in our software. It also provides a history of the Reproducible Builds project, which is approximately ten years old. How are we getting on? What have we got left to do? Aren’t all the builds reproducible now?
In Debian this month, Jochen Sprickerhof
created a merge request to replace the use of
reprotest in Debian’s
Salsa Continuous Integration (CI) pipeline with
debrebuild. Joschen cites the advantages as being
threefold: firstly, that “only one extra build needed”;
it “uses the same sbuild and
ccache
tooling as the normal build”; and “works for any Debian
release”. The merge request was merged by Emmanuel Arias and
is now active.
kpcyrd posted to our
mailing list announcing the initial release of repro-threshold,
which implements an APT transport
that “defines a threshold of at least X of my N trusted
rebuilders need to confirm they reproduced the binary”
before installing Debian packages. “Configuration can be done
through a config file, or through a curses-like user interface.
Holger then merged
two commits by Jochen Sprickerhof in order to address a
fakeroot-related
reproducibility issue in the debian-installer, and
Jörg Jaspert deployed a patch
by Ivo De Decker for a bug originally filed by Holger in February
2025 related to some Debian packages not being archived on
snapshot.debian.org.
Elsewhere, Roland Clobus performed some analysis on the “live” Debian trixie images, which he determined were not reproducible. However, in a follow-up post, Roland happily reports that the issues have been handled. In addition, 145 reviews of Debian packages were added, 12 were updated and 15 were removed this month adding to our knowledge about identified issues.
Lastly, Jochen Sprickerhof filed a bug announcing their intention to “binary NMU” a very large number of the R programming language after a reproducibility-related toolchain bug was fixed.
Bernhard M. Wiedemann posted another openSUSE monthly update for their work there.
Julien Malka and Arnout Engelen launched the new hash collection server for NixOS. Aside from improved reporting to help focus reproducible builds efforts within NixOS, it collects build hashes as individually-signed attestations from independent builders, laying the groundwork for further tooling.
diffoscope version 307 was
uploaded to Debian unstable (as well as
version 309). These
changes included further attempts to automatically attempt to
deploy to PyPI by liaising with the
PyPI developers/maintainers (with this experimental
feature). […][…][…]
In addition, reprotest versions 0.7.31 and
0.7.32
were uploaded to Debian unstable by Holger Levsen, who
also made the following changes:
debian/watch file, as
Lintian now flags this as error for ‘native’ Debian
packages. […][…]Standards-Version to
4.7.2, with no changes needed. […]Rules-Requires-Root
header as it is no longer required.. […]In addition, however, Vagrant Cascadian fixed a build failure by removing some extra whitespace from an older changelog entry. […]
Once again, there were a number of improvements made to our website this month including:
Bernhard M. Wiedemann updated the
SOURCE_DATE_EPOCH page to fix the Lisp example
syntax. […]
Holger Levsen updated a number of pages on our website related to our recent summit in Vienna […][…][…][…][…], and added a link to the YouTube video of his recent talk at Transparency.dev in Gothenburg, Sweden […].
James Addison replaced a broken link on the Reproducibility Troubleshooting page with one using Archive.org. […]
kpcyrd also updated the Vienna summit page in order to update group picture […] as well as to expand the project list […].
Robert Stupp added a new Helm page […][…], and fleshed out some Gradle specifics, etc. on the JVM page […].
It was noticed that the Comparison of Linux distributions Wikipedia page now has a “Reproducible builds” column.
The popular Ruby on Rails web development framework had a reproducibility-related test failure due to daylight savings time changes.
Debian Developer Otto Kekäläinen appeared on the Open Source Security podcast, relating to their blog post about the XZ backdoor. The video, audio, as well as a full transcript of the show are available on the Open Source Security podcast page for this episode.
Thomas Weißschuh posted to our
mailing list in order to
look for feedback on their CONFIG_MODULE_HASHES
patchset for the Linux kernel, “which aims to enable
reproducible kernel packages for Linux distributions”.
kpcyrd also posted our list with a post entitled “Github Actions and the hashFiles incident”.
Simon Mudd posted to the list as well “looking
for reproducible RPM building / rebuilding tooling”.
Simon had watched a recent talk by Holger
Levsen and was trying to ensure that he could rebuild various
MySQL .rpms.
Lastly, there was a thread related to the hosting of the website powering this very report.
Via our mailing list, Martin Monperrus let us know about their recently-published page on the Software Supply Chain Security of Web3. The abstract of their paper is as follows:
Web3 applications, built on blockchain technology, manage billions of dollars in digital assets through decentralized applications (dApps) and smart contracts. These systems rely on complex, software supply chains that introduce significant security vulnerabilities. This paper examines the software supply chain security challenges unique to the Web3 ecosystem, where traditional Web2 software supply chain problems intersect with the immutable and high-stakes nature of blockchain technology. We analyze the threat landscape and propose mitigation strategies to strengthen the security posture of Web3 systems.
Their paper lists reproducible builds as one of the mitigating strategies. A PDF of the full text is available to download.
The Reproducible Builds project detects, dissects and attempts to fix as many currently-unreproducible packages as possible. We endeavour to send all of our patches upstream where appropriate. This month, we wrote a large number of such patches, including:
Bernhard M. Wiedemann:
SARndbox
(race)clamav (rust
toolchain)
contrast/identity/loupe/mousai (need glib-macros
update)
cosmic (cosmic* HashMap)dealers-choice
(nocheck)falcon
(python-falcon date)FreeDoko
(date)
gnutls (FTBFS-CPU)gods-deluxe (jar
mtimes)Kinect
(date)libplasma6
(qmlcachegen race)llvm (rocm-omp
date)rnp
(FTBFS-2041)rocsolver
(FTBFS-j1)switcheroo
(FTBFS-j1)vdrift
(date)Arnout Engelen:
ibus
(parallelism)qmlcachegen (with
Ulf Hermann)Chris Lamb:
python-gffutils.python-biom-format.python-requests-cache.python-tld.smart-open.vanguards.pycifrw.golang-github-apptainer-container-library-client.python-ofxhome.python-lupa.mu-editor.python-spdx-tools.python-django-waffle.biosquid.dateparser.parsinsert.rdf2rml.python-et-xmlfile.
deblur.ytcc.pgpainless.trillian.pywavelets.jsonpath-ng.
presto.python-pyutil.
python-os-apply-config.pydata-sphinx-theme.python-ciso8601.python-pymummer.qcat.
tkgate.
tkgate.ruby-gnuplot.python-nixio.python-altair.python-graphene.python-phabricator.python-slimmer.python-kafka.python-sshsig.
python-babelgladeextractor.python-genson.flawfinder.crasm.insilicoseq.pychopper.pycparser.whipper.vt.
pyxnat.
golang-github-kshedden-statmodel.nim-hts.
golang-github-emicklei-dot.golang-gonum-v1-plot.beangulp.virulencefinder.ansible-lint.entropybroker.namecheap.spopt.pyasn.python-pyvcf.python-pysaml2.Jochen Sprickerhof:
Vagrant Cascadian:
Finally, if you are interested in contributing to the Reproducible Builds project, please visit our Contribute page on our website. However, you can get in touch with us via:
IRC: #reproducible-builds
on irc.oftc.net.
Mastodon: @reproducible_builds@fosstodon.org
Mailing list:
rb-general@lists.reproducible-builds.org
Eddie Lin Is the New District 2 City Councilmember [The Stranger]
Lin is part of a new progressive coalition at City Hall—incumbent Councilmember Alexis Mercedes Rinck, Councilmember-Elect Dionne Foster, City Attorney-Elect Erika Davis, and Mayor-Elect Katie Wilson—who campaigned on similar ideals. by Micah Yip
Flanked by Councilmembers in a packed City Hall Tuesday afternoon, Councilmember Eddie Lin took the oath of office.
After a standing ovation, Lin shared how his experience growing up as a half-Chinese/Taiwanese and half-white kid shaped his sense of community, and how he wants to cultivate that value in his office.
“When we have an abundance mindset and share our power and resources, we foster a community where we take care of others, and they also take care of us,” Lin said. “And that is the world that I want to be a part of helping to nurture, the world that I believe District 2 residents want to see.”
New officials usually take the oath of office in January, but Lin was sworn in early because his race was a special election. He’s taking over for Mark Solomon, who was appointed to the seat after Councilmember Tammy Morales resigned last January, citing the “toxic environment” other councilmembers created.
At a City Council briefing the day before he was sworn in, Lin came in hot. After Office of Intergovernmental Relations staff read aloud a list of next year’s legislative priorities, Lin noted it was missing any plan for progressive revenue, which was one of his campaign priorities. He asked when he’d have a chance to amend it.
“Our office is new. We have not had the same opportunity to kind of contribute, participate, in developing the state legislative agenda,” he said.
Lin is part of a new progressive coalition at City Hall—incumbent Councilmember Alexis Mercedes Rinck, Councilmember-Elect Dionne Foster, City Attorney-Elect Erika Davis, and Mayor-Elect Katie Wilson—who campaigned on similar ideals.
But they’ll all have to work within the confines of Mayor Bruce Harrell’s recently passed budget, and alongside conservatives like Councilmembers Debora Juarez, Maritza Rivera and Bob Kettle.
“I am not alone in this work,” Lin said in his Tuesday speech. “The resources and tools that we need, that our kids and elders need to flourish, are right here in this room and all around us. It is us working together, growing together, talking and collaborating together.”
Good news! [Judith Proctor's Journal]
First off, the detox on news and Facebook has done a lot to improve my quality of sleep.
Second, and far more important, my son who has been looking for a job ever since his entire office were unexpectedly made redundant around 10 months ago, has finally found a new job.
And the kind of job he really, really wanted. He could have got a coding job quickly, many of his friends did. But he wanted to be involved in problem analysis, requirements analysis, planning the breakdown of work for a team.
He was doing some of that in his previous job, but it wasn't reflected in his job title.
But he's starting around 10 days from now: it's well paid, it's not to far too travel, and he only has to go into the office for two days a week. The rest can be done from home on flextime. (Which is very handy for when Theo - now age 1 and crazily adorable - is unwell and can't go into the nursery. His wife's office day is different, so they can cover all bases - and Richard and I can help out when necessary. we have him on Fridays anyway, as we don't want to miss out on him growing up.
He already loves being read to. And listening to me singing to him :)
So, happy Granny! (Apart from having flu, which has triggered a bad asthma attack to keep it company...)
Home Assistant 2025.12 released [LWN.net]
Version 2025.12 of the Home Assistant home-automation system has been released.
This month, we're unveiling Home Assistant Labs, a brand-new space where you can preview features before they go mainstream. And what better way to kick it off than with Winter mode? ❄️ Enable it and watch snowflakes drift across your dashboard. It's completely unnecessary, utterly delightful, and exactly the kind of thing we love to build. ❄️But that's just the beginning. We've been working on making automations more intuitive over the past releases, and this release finally delivers purpose-specific triggers and conditions. Instead of thinking in (numeric) states, you can now simply say "When a light turns on" or "If the climate is heating". It's automation building the way our mind works, as it should be.
How do I check whether the user has permission to create files in a directory? [The Old New Thing]
A customer wanted to accept a directory entered by the user and
verify that the user has permission to create files in that folder.
The directory itself might not even be on a local hard drive; it
could be a DVD or a remote network volume. They tried calling
GetFileAttributes, but all they were told
was that it was a directory.¹ How can they find out whether
the user can create files in it?
The file attributes are largely legacy flags carried over from MS-DOS. The actual control over what operations are permitted comes not from the file attributes but from the security attributes.
Fortunately, you don’t have to learn how to parse security attributes. You can just specify the desired attributes when you open the file or directory. In other words, to find out if you can do the thing, ask for permission to do the thing.
The security attribute that controls whether users can create
new files in a directory is FILE_ADD_FILE. You can
find a complete list in the documentation under File Access Rights
Constants.
Directories are a little tricky because you have to open them with backup semantics.
bool HasAccessToDirectory(PCWSTR directoryPath, DWORD access)
{
HANDLE h = CreateFileW(directoryPath, access,
FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, nullptr,
OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, nullptr);
if (h == INVALID_FILE_HANDLE) {
return false;
} else {
CloseHandle(h);
return true;
}
}
bool CanCreateFilesInDirectory(PCWSTR directoryPath)
{
return HasAccessToDirectory(directoryPath, FILE_ADD_FILE);
}
You can choose other access flags to detect other things. For
example, checking for FILE_ADD_SUBDIRECTORY checks
whether the user can create subdirectories, and checking for
FILE_DELETE_CHILD checks whether the user can delete
files and remove subdirectories from that directory. If you want to
check multiple things, you can OR them together, because security
checks require that you be able to do all of the things you
requested before it will let you in.
bool CanCreateFilesAndSubdirectoriesInDirectory(PCWSTR directoryPath)
{
return HasAccessToDirectory(directoryPath,
FILE_ADD_FILE | FILE_ADD_SUBDIRECTORY);
}
Note that these are moment-in-time checks. You will have to be prepared for the possibility that the user has lost access by the time you actually try to perform the operation. But this will at least give you an opportunity to tell the user up front, “You don’t have permission to create files in this folder. Pick another one.”²
As I noted, this technique applies to files as well. If you want to know if the user can write to a file, open it for writing and see if it succeeds!
¹ And we learned some time ago that the read-only attribute on directories doesn’t actually make the directory read-only.
² This could be handy if the act of creating the files happens much later in the workflow. For example, maybe you’re asking the user where to save the query results. The query itself might take a long time, so you don’t want to let the user pick a directory, and then 30 minutes later, put up a dialog box saying “Oops, I couldn’t save the files in that directory. Maybe you should have picked a better one 30 minutes ago.”
The post How do I check whether the user has permission to create files in a directory? appeared first on The Old New Thing.
Slog AM: Costco Sues Trump, Shirtless Man With a Gun Killed by Police, Seattle Traffic Is Getting Worse [The Stranger]
by Charles Mudede
What will the weather do for us today? Rain some, keep things nice and chill with an expected high of 45, and cover our skies with low and lugubrious clouds. What more do you want? Winter is right around the corner. And I have a new and thick jacket (it feels and looks like a sleeping bag) in case temperatures drop to levels that we imagine and feel as arctic. Will it snow this year? Dream… dream, dream, dream.
Yesterday at 1:30 pm, a man described as shirtless and “waving a gun” was shot by the police. First with a traditional bullet, and then after he was shot, with a “sponge round.” He did not survive the incident, which occurred near South Othello Street and MLK Way and closed the intersection and Othello Station for well over 12 hours. The street and station reopened early this morning.
Traffic in Seattle keeps getting worse. This year, which is down to its last month, drivers “spent more time in traffic than did in 2024,” according to the Seattle Times. Road construction and post-pandemic orders to return to the office are seen as the source of this increase in congestion, which, for drivers, translated into “three extra days behind the wheel.”
We must now turn to the German philosopher Leibniz to make sense of this story in Urbanist: “Why It Takes So Damn Long to Build a RapidRide Line.” The answer? “Permitting timelines, errors in pre-construction survey work, and delays from property acquisition [are] factors that have been holding back new RapidRide ribbon cuttings in recent years.” In short, public transportation projects, despite their enormous importance in the present age of global warming, face, in the process of their actualization, virtual obstacle after virtual obstacle. And what does Leibniz, the 17-century German philosopher and polymath, have to do with any of this?
Leibniz’s idea of compossibles. What he meant by this concept is that in the virtual realm, you have possibilities that can either effortlessly connect with other possibilities or not even be present in the virtual. If the possibilities are numerous and do connect, their transition from the virtual to the actual requires little effort. The compossibilities of cars, for example, are, in the US, much greater in number than the ones for our modes of public transportation. For this reason, the planning period of the former faces fewer obstacles than the latter.
And this is why we must take the virtual as seriously as the actual. Seeing what can happen increases its compossibles. And so we learn that SeaTac City Councilmembers James Lovell and Senayet Negusse don’t see the “giant parking-par-and-fly lot” across from Link’s Angle Lake Station (the actual) but a prime location for a new city hall (the virtual). Note: The virtual is no less real than the actual. To explain why demands a long explanation of the difficult concepts of the French philosopher Gilles Deleuze. But this is the AM. You are still waking up. Let’s keep on moving.
Indeed, we are only a few days away from the opening of Federal Way Downtown Station. Tacoma, what you got to say about that? “On my own, once again.”
Costco to Trump: “Better have my money.” The Issaquah-based company is suing the present administration for money that’s been sucked out of its stores by a massive black hole called tariffs. Costco, along with other companies, hopes to get paid if the Supreme Court decides the sky-high duties on imported goods are in fact illegal. The president has claimed that, one, exporters pay for tariffs (not the US); and, two, they are making more money than a sucker could ever spend. Both claims are as far from reality as Proxima Centauri is from our one and only star.
There you have it. First, the Trump Administration claimed nothing happened. Then it said something did in fact happen. Then it threw a MAGA admiral, Frank Bradley, under the bus, claiming he authorized a second attack on the survivors of a boat obliterated by a US missile. Now, the Secretary of War [Crimes] Pete Hegseth is blaming the whole bad business on the “fog of war,” meaning the US is in a war with Venezuelans suspected of smuggling drugs. But no one in the White House or the Pentagon has confirmed that one of the many boats destroyed by the US was in fact “a clear and present danger” to the military or the country it defends. Zip. Zilch. Nada.
Department of War Crimes…
— Dutchy Patrick (@dutchiepatrick.bsky.social) November 29, 2025 at 11:11 PM
[image or embed]
And what happened during the second missile strike that clearly killed defenseless “combatants” in this fabricated war?
Secretary of War [Crimes] Pete Hegseth: “I watch that first strike live. At the Department of War [Crimes], we got a lot of things to do so I did not stick around. Couple of hours later, I learned that commander had made — which he had the complete authority to do, he made the correct decision to sink the boat and eliminated the threat. And it was the right call. We have his back.
Reporter: “So you did not see the survivors after that first strike?”
Hegseth: “I did not personally see survivors. The thing was on fire. This is what is called the fog of war. This is what you in the press don’t understand. You sit in your air conditioned offices and you plant fake stories in The Washington Post not based in any truth at all.”
I really believe Hegseth is going to jail. The man is as thick as two planks. He has no idea that he’s dealing with defence professionals. And he is firing them in droves. Those people do not go into the night and find new hobbies.
www.theguardian.com/us-news/2025...
Admiral Hosley retired/quit because he did not want to give such orders! Admiral Bradley was happy to do so because he's a huge Trump cheerleader!
— MadGreek 🧿 (@madgreek2024.bsky.social) December 1, 2025 at 2:51 PM
[image or embed]
While the brilliant Iranian director, Jafar Panahi, is collecting awards and accolades in the US (he recently visited Seattle), the Iranian government has sentenced him to a one-year sentence, a ban on international travel, and banned him from joining political groups. Indeed, I’m shocked he was allowed to leave the country in the first place. His latest, and maybe his greatest, film, It Was Just an Accident, spells it out: The Iranian government terrorizes its citizens. I have no idea where he found the courage to make this film. He had spent the last 20 years or so under house arrest, or in court, or in jail, or in fear for his life. And the first thing he does when liberated is to make a film that makes the Iranian government pretty much a monster in a horror movie. Let’s applaud him.
Scratchmaster Joe has left this world and entered the great unknown that’s always right next to life. This happened a little under two weeks ago. He was still young, though he had, according to my recollection, stopped practicing what made his name in local hip-hop, cutting and scratching. Joe was a real pro of an art that once stood at the top of its culture—the rapper played second fiddle (for example: DJ Jazzy Jeff and the Fresh Prince). Though the DJ entered the twilight three decades ago, some never lost the faith. They continued to believe in the wheels of steel. This was Scratchmaster Joe when I first saw him in 2008. I last saw him a month ago, at the Columbia City Station. He appeared to be a little lost. We talked for a bit and then parted ways forever.
Let’s end AM with a very special version of Drake’s hit “Hotline Bling”:
Pluralistic: A year in illustration (2025 edition) (03 Dec 2025) [Pluralistic: Daily links from Cory Doctorow]
One of the most surprising professional and creative developments of my middle-age has been discovering my love of collage. I have never been a "visual" person – I can't draw, I can't estimate whether a piece of furniture will fit in a given niche, I can't catch a ball, and I can't tell you if a picture is crooked.
When Boing Boing started including images with our posts in the early 2000s, I hated it. It was such a chore to find images that were open licensed or public domain, and so many of the subjects I wrote about are abstract and complex and hard to illustrate. Sometimes, I'd come up with a crude visual gag and collage together a few freely usable images as best as I could and call it a day.
But over the five years that I've been writing Pluralistic, I've found myself putting more and more effort and thought into these header images. Without realizing it, I put more and more time into mastering The GIMP (a free/open Photoshop alternative), watching tutorial videos and just noodling from time to time. I also discovered many unsuspected sources of public domain work, such as the Library of Congress, whose search engine sucks, but whose collection is astounding (tip: use Kagi or Google to search for images with the "site:loc.gov" flag).
I also discovered the Met's incredible collection:
https://www.metmuseum.org/art/collection/search
And the archives of H Armstrong Roberts, an incredibly prolific stock photographer whose whole corpus is in the public domain. You can download more than 14,000 of his images from the Internet Archive (I certainly did!):
https://archive.org/details/h-armstrong-roberts
Speaking of the Archive and search engine hacks, I've also developed a method for finding hi-rez images that are otherwise very hard to get. Often, an image search will turn up public domain results on commercial stock sites like Getty. If I can't find public domain versions elsewhere (e.g. by using Tineye reverse-image search), I look for Getty's metadata about the image's source (that is, which book or collection it came from). Then I search the Internet Archive and other public domain repositories for high-rez PDF scans of the original work, and pull the images out of there. Many of my demons come from Compendium rarissimum totius Artis Magicae sistematisatae per celeberrimos Artis hujus Magistros, an 18th century updating of a 11th century demonolgy text, which you can get as a hi-rez at the Wellcome Trust:
https://wellcomecollection.org/works/cvnpwy8d
Five years into my serious collage phase, I find myself increasingly pleased with the work I'm producing. I actually self-published a little book of my favorites this year (Canny Valley), which Bruce Sterling provided an intro for and which the legendary book designed John Berry laid out fot me, and I'm planning future volumes:
https://pluralistic.net/2025/09/04/illustrious/#chairman-bruce
I've been doing annual illustration roundups for the past several years, selecting my favorites from the year's crop:
2022:
https://pluralistic.net/2022/12/25/a-year-in-illustration/
2023:
https://pluralistic.net/2023/12/21/collages-r-us/
2024:
https://pluralistic.net/2024/12/07/great-kepplers-ghost/
It's a testament to how much progress I've made that when it came time to choose this year's favorites, I had 33 images I wanted to highlight. Much of this year's progress is down to my friend and neighbor Alistair Milne, an extremely talented artist and commercial illustrator who has periodically offered me little bits of life-changing advice on composition and technique.
I've also found a way to use these images in my talks: I've pulled together a slideshow of my favorite (enshittification-related) images, formatted for 16:9 (the incredibly awkward aspect ratio that everyone seems to expect these days), with embedded Creative Commons attributions. When I give a talk, I ask to have this run behind me in "kiosk mode," looping with a 10-second delay between each slide. Here's an up-to-date (as of today) version:
https://archive.org/download/enshittification-slideshow/enshittification.pptx
If these images intrigue you and you'd like hi-rez versions to rework on your own, you can get full rez versions of all my blog collagesin my "Pluralistic Collages" Flickr set:
https://www.flickr.com/photos/doctorow/albums/72177720316719208
They're licensed CC BY-SA 4.0, though some subelements may be under different licenses (check the image descriptions for details). But everything is licensed for remix and commercial distribution, so go nuts!

All the books I reviewed in 2025
The underlying image comes from the Library of Congress (a search for "reading + book") (because "reading" turns up pictures of Reading, PA and Reading, UK). I love the poop emoji from the cover of the US edition of Enshittification and I'm hoping to get permission to do a lot more with it.
https://pluralistic.net/2025/12/02/constant-reader/#too-many-books

Meta's new top EU regulator is contractually prohibited from
saying mean things about Meta
Mark Zuckerberg's ghastly Metaverse avatar is such a gift to his critics. I can't believe his comms team let him release it! The main image is an H Armstrong Roberts classic of a beat cop wagging his finger at a naughty lad on a bicycle. The Wachowskis' 'code waterfall' comes from this generator:
https://github.com/yeaayy/the-matrix
https://pluralistic.net/2025/12/01/erin-go-blagged/#big-tech-omerta

The long game
In my intro to last year's roundup, I wrote about Joseph Keppler, the incredibly prolific illustrator and publisher who founded Puck magazine and drew hundreds of illustrations, many of them editorial cartoons that accompanied articles that criticized monopolies and America's oligarch class. As with so much of his work, Keppler's classic illustration of Rockefeller as a shrimpy, preening king updates very neatly to today's context, through the simple expedient of swapping in Zuck's metaverse avatar.
https://pluralistic.net/2025/11/20/if-you-wanted-to-get-there/#i-wouldnt-start-from-here

Facebook's fraud files
I love including scanned currency in my illustrations. Obviously, large-denomination bills make for great symbols in posts about concentrated wealth and power, but also, US currency is iconic, covered in weird illustrations, and available as incredibly high-rez scans, like this 7,300+ pixel-wide C-note:
https://commons.wikimedia.org/wiki/File:U.S._hundred_dollar_bill,_1999.jpg
It turns out that intaglio shading does really cool stuff when you tweak the curves. I love what happened to Ben Franklin's eyes in this one. (Zuck's body is another Keppler/Puck illo!)
https://pluralistic.net/2025/11/08/faecebook/#too-big-to-care

There's one thing EVERY government can do to shrink Big
Tech
This is another Keppler/Roberts mashup. Keppler's original is Teddy Roosevelt as a club-wielding ("speak softly and carry a big stick") trustbusting Goliath. The crying baby and money come from an H Armstrong Roberts tax-protest stock photo (one of the money sacks was originally labeled "TAXES"). This one also includes one of my standbys, Cryteria's terrific vector image of HAL 9000's glaring red eye, always a good symbolic element for stories about Big Tech, surveillance, and/or AI:
https://commons.wikimedia.org/wiki/File:HAL9000.svg
https://pluralistic.net/2025/11/01/redistribution-vs-predistribution/#elbows-up-eurostack

When AI prophecy fails
The chain-gang photo comes from the Library of Congress. That hacker hoodie is a public domain graphic ganked from Wikimedia Commons. I love how the HAL 9000 eye pops as the only color element in this one.
https://pluralistic.net/2025/10/29/worker-frightening-machines/#robots-stole-your-jerb-kinda

Checking in on the state of Amazon's chickenized
reverse-centaurs
Another H Armstrong Roberts remix: originally, this was a grinning delivery man jugging several parcels. I reskinned him and his van with Amazon delivery livery, and matted in the horse-head to create a "reverse centaur" (another theme I return to often). I used one of Alistair Milne's tips to get that horse's head right: rather than trying to trace all the stray hairs on the mane, I traced them with a fine brush tool on a separate layer, then erased the strays from the original and merged down to get a nice, transparency-enabled hair effect.
https://pluralistic.net/2025/10/23/traveling-salesman-solution/#pee-bottles

The mad king's digital killswitch
The Uncle Sam image is Keppler's (who else?). In the original (which is about tariffs! everything old is new!), Sam's legs have become magnets that are drawing in people and goods from all over the world. The Earth-from-space image is a NASA pic. Love that all works of federal authorship are born in the public domain!
https://pluralistic.net/2025/10/20/post-american-internet/#huawei-with-american-characteristics

Microsoft, Tear Down That Wall!
Clippy makes a perfect element for posts about chatbots. It's hard to think that Microsoft shipped a product with such a terrible visual design, but at the same time, I gotta give 'em credit, it's so awful that it's still instantly recognizable, 25 years later.
https://pluralistic.net/2025/10/15/freedom-of-movement/#data-dieselgate

A disenshittification moment from the land of mass
storage
Another remix of Keppler's excellent Teddy Roosevelt/trustbuster giant image, this time with Ben Franklin's glorious C-note phiz. God, I love using images from money!
https://pluralistic.net/2025/10/10/synology/#how-about-nah

Apple's unlawful evil
Alistair Milne helped me work up a super hi-rez version of Trump's hair from his official (public domain) 2024 presidential portrait. Lots of tracing those fine hairs, and boy does it pay off. Apple's "Think Different" wordmark (available as a vector on Wikimedia Commons) is a gift to the company's critics. The fact that the NYPD actually routinely show up for protests dressed like this makes my job too easy.
https://pluralistic.net/2025/10/06/rogue-capitalism/#orphaned-syrian-refugees-need-not-apply

Blue Bonds
Another C-note remix. One of the things I love about remixing US currency is that every part of it is so immediately identifiable, meaning that just about any crop works. The California bear comes from a public domain vector on Wikimedia Commons. I worked hard to get the intaglio effect to transfer to the bear, but only with middling success. Thankfully, I was able to work at massive resolution (like, 4,000 px wide) and reduce the image, which hides a lot of my mistakes.
https://pluralistic.net/2025/10/04/fiscal-antifa/#post-trump

The real (economic) AI apocalypse is nigh
Another money scan, this time a hyperinflationary Zimbabwean dollar (I also looked at some Serbian hyperinflationary notes, but the Zimbabwean one was available at a higher rez). Not thrilled about the engraving texture on the HAL 9000, but the Sam Altman intaglio kills. I spent a lot of time tweaking that using G'mic, a good (but uneven) plugin suite for the GIMP.
https://pluralistic.net/2025/09/27/econopocalypse/#subprime-intelligence

Rage Against the (Algorithmic Management) Machine
This one made this year's faves list purely because I was so happy with how the Doordash backpack came out. The belligerent worker is part of a Keppler diptych showing a union worker and a boss facing off against one another with a cowering consumer caught in the crossfire. I'm not thrilled about this false equivalence, but I'll happily gank the figures, which are great.
https://pluralistic.net/2025/09/25/roboboss/#counterapps

The enshittification of solar (and how to stop it)
I spent a lot of time tweaking the poop emoji on those solar panels, eventually painstakingly erasing the frames from the overlay image. It was worth it.
https://pluralistic.net/2025/09/23/our-friend-the-electron/#to-every-man-his-castle

AI psychosis and the warped mirror
One of those high-concept images that came out perfect. Replacing Narcissus's face (and reflection) with HAL 9000 made for a striking image that only took minutes to turn out.
https://pluralistic.net/2025/09/17/automating-gang-stalking-delusion/#paranoid-androids

Reverse centaurs are the answer to the AI paradox
The businessman trundling up a long concrete staircase is another H Armstrong Roberts. That staircase became very existential as soon as I stripped out the grass on either side of it. Finding that horse-head took a lot of doing (the world needs more CC-licensed photos of horses from that angle!). The computer in the background comes from a NASA Ames archive of photos of all kinds of cool stuff – zeppelins, spacesuits, and midcentury "supercomputers."
https://pluralistic.net/2025/09/11/vulgar-thatcherism/#there-is-an-alternative

Radical juries
Another high-concept image that just worked. It took me more time to find a good public domain oil painting of a jury than it did to transform each juror into Karl Marx. I love how this looks.
https://pluralistic.net/2025/08/22/jury-nullification/#voir-dire

LLMs are slot-machines
It's surprisingly hard to find a decent public domain photo of a slot machine in use. I eventually started to wonder if Vegas had a no-cameras policy in the early years. Eventually, the Library of Commerce came through with a scanned neg that was high enough rez that I could push the elements I wanted to have stand out from an otherwise muddy, washed-out image.
https://pluralistic.net/2025/08/16/jackpot/#salience-bias

Zuckermuskian solipsism
The laborers come from an LoC collection of portraits of children who worked in coal mines in the 1910s. They're pretty harrowing stuff. I spent a long plane ride cropping each individual out of several of these images.
https://pluralistic.net/2025/08/18/seeing-like-a-billionaire/#npcs

Good ideas are popular
The original crowd scene (a presidential inauguration, if memory serves) was super high-rez, which made it very easy to convincingly matte in the monkeys and the Congressional dome. I played with tinting this one, but pure greyscale looked a lot better.
https://pluralistic.net/2025/08/07/the-people-no-2/#water-flowing-uphill

By all means, tread on those people
Another great high concept. The wordiness of Wilhoit's Law makes this intrinsically funny. There's a public domain vector-art Gadsen flag on Wikimedia Commons. I found a Reddit forum where font nerds had sleuthed out the typeface for the words on the original.
https://pluralistic.net/2025/08/26/sole-and-despotic-dominion/#then-they-came-for-me

AI's pogo-stick grift
The pogo stick kid is another H Armstrong Roberts gank. I spent ages trying to get the bounce effect to look right, and then Alistair Milne fixed it for me in like 10 seconds. The smoke comes from an oil painting of the eruption of Vesuvius from the Met. It's become my go-to "hellscape" background.
https://pluralistic.net/2025/08/02/inventing-the-pedestrian/#three-apis-in-a-trenchcoat

The worst possible antitrust outcome
The smoke from Vesuvius makes another appearance. I filled the Android droid with tormented figures from Bosch's "Garden of Earthly Delights," which is an amazing painting that is available as a more than 15,000 pixel wide (!) scan on Wikimedia Commons.
https://pluralistic.net/2025/09/03/unpunishing-process/#fucking-shit-goddammit-fuck

Conservatism considered as a movement of bitter rubes
Boy, I love this one. The steamship image is from the Met. The carny barker is a still of WC Fields, whose body language is impeccable. It took a long-ass time to get a MAGA hat in the correct position, but I eventually found a photo of an early 20th C baseball player and then tinted his hat and matted in the MAGA embroidery.
https://pluralistic.net/2025/07/22/all-day-suckers/#i-love-the-poorly-educated
![]()
Your Meta AI prompts are in a live, public feed
These guys on the sofa come from Thomas Hawke, who has recovered and scanned nearly 30,000 "found photos" – collections from estates, yard-sales, etc:
The Shining-esque lobby came from the Library of Congress, where it is surprisingly easy to find images of buildings with scary carpets.
https://pluralistic.net/2025/06/19/privacy-breach-by-design/#bringing-home-the-beacon

Strange Bedfellows and Long Knives
Another great high-concept that turned out great. I think that matting the Heritage Foundation chiselwork into the background really pulls it together, and I'm really happy with the glow-up I did for the knives.
https://pluralistic.net/2025/05/21/et-tu-sloppy-steve/#fractured-fairytales

Are the means of computation even seizable?
I spent so long cutting out this old printing press, but boy has it stood me in good stead. I think there's like five copies of that image layered on top of each other here. The figure is an inside joke for all my Luddite trufan pals outthere, a remix of a classic handbill depicting General Ned Ludd.
https://pluralistic.net/2025/05/14/pregnable/#checkm8

Mark Zuckerberg announces mind-control ray (again)
I was worried that this wouldn't work unless you were familiar with the iconic portrait photo of Rasputin, but that guy was such a creepy-ass-looking freak, and Zuck's metaverse avatar is so awful, that it works on its own merits, too.
https://pluralistic.net/2025/05/07/rah-rah-rasputin/#credulous-dolts

Mike Lee and Jim Jordan want to kill the law that bans companies
from cheating you
The original image was so grainy, but it was also fantastic and I spent hours rehabbing it. It's a posed, comedic photo of two Australian miners in the bush cheating at cards, rooking a third man. The Uncle Sam is (obviously) from Keppler.
https://pluralistic.net/2025/04/29/cheaters-and-liars/#caveat-emptor-brainworms

Mark Zuckerberg personally lost the Facebook antitrust
case
This one got more, "Wow is that ever creepy" comments than any of the other ones. I was going for Chatty Cathy, but that Zuck metaverse avatar is so weird and bad that it acts like visual MSG in any image, amplifying its creepiness to incredible heights.

Machina economicus
The image is from an early illustrated French edition of HG Wells's War of the Worlds. I love how this worked out, and a family of my fans in Ireland commissioned a paint-by-numbers of it and painted it in and mailed it to me. It's incredible. If I re-use this, I will probably swap out the emoji for the graphic from the book's cover.
https://pluralistic.net/2025/04/14/timmy-share/#a-superior-moral-justification-for-selfishness

How the world's leading breach expert got phished
I don't understand how composition works, but I know when I've lucked into a good composition. This is a good composition! I made this on the sofa of Doc and Joyce Searles in Bloomington, Indiana while I was in town for my Picks and Shovels book tour.
https://pluralistic.net/2025/04/05/troy-hunt/#teach-a-man-to-phish

Anyone who trusts an AI therapist needs their head
examined
I worked those tentacles for so long, trying to get Freud/Cthulhu/HAL's lower half just right. In the end, it all paid off.
https://pluralistic.net/2025/04/01/doctor-robo-blabbermouth/#fool-me-once-etc-etc

You can't save an institution by betraying its mission
The "fireman" is an image from the Department of Defense of a soldier demoing a flamethrower (I hacked in the firefighter's uniform). I spent a lot of time trying to get a smoky look for the foreground here, but I don't think it succeeded.
https://pluralistic.net/2025/03/19/selling-out/#destroy-the-village-to-save-it
Trump loves Big Tech
The two guys in the jars (John Bull and a random general I've rebadged to represent the EU) come from an epic Keppler two-page spread personifying the nations of the world as foolish military men. While many of the figures are sadly and predictably racist (you don't want to see "China"), these guys were eminently salvageable, and I love their expressions and body-language.
https://pluralistic.net/2025/03/24/whats-good-for-big-tech/#is-good-for-america

The future of Amazon coders is the present of Amazon warehouse
workers
The background is a photo of the interior of a tape-robot that I snapped in the data-centre at the Human Genome Project when I was out on assignment for Nature magazine. It remains one of the most striking images I've ever captured. It was way too hard to find a horse's head from that angle for the "reverse centaur." If there are any equestrian photographers out there, please consider snapping a couple and putting them up on Wikimedia Commons under a Creative Commons license.
https://pluralistic.net/2025/03/13/electronic-whipping/#youre-next

Gandersauce
I'm not thrilled with how the face worked out on this one, but people love it. If I'm giving a speech and I notice the audience elbowing one another and pointing at the slides and giggling, I know this one has just rotated onto the screen.
https://pluralistic.net/2025/03/08/turnabout/#is-fair-play

Premature Internet Activists
I spent a lot of time cleaning up and keystoning Woody Guthrie's original sticker, which can be found at very high resolutions online. Look for this element to find its way into many future collages.
https://pluralistic.net/2025/02/13/digital-rights/#are-human-rights

It's not a crime if we do it with an app
The two figures come from Keppler; the potato field is from the Library of Congress. Putting HAL eyes on the potatoes was fiddly work, but worth it. Something about Keppler's body language and those potato heads really sings.
https://pluralistic.net/2025/01/25/potatotrac/#carbo-loading
The cod-Marxism of personalized pricing
I don't often get a chance to use Chinese communist propaganda posters, but I love working with them. All public domain, available at high rez, and always to the point. It was a lot of work matting those US flags onto the partially furled Chinese flags, but it worked out great.
https://pluralistic.net/2025/01/11/socialism-for-the-wealthy/#rugged-individualism-for-the-poor

Occupy the Democratic National Committee
I love this sad donkey, from an old political cartoon. Given the state of the Democratic Party, I get a lot of chances to use him, and more's the pity.
https://pluralistic.net/2025/01/10/smoke-filled-room-where-it-happens/#dinosaurs
Social media needs (dumpster) fire exits
This one's actually from 2024, but I did it after last year's roundup, and I like it well enough to include it in this year's. I think the smoke came out pretty good!
https://pluralistic.net/2024/12/14/fire-exits/#graceful-failure-modes
(Images: TechCrunch, Ajay Suresh, Steve Jurvetson, CC BY 2.0; Cryteria, UK Parliament/Maria Unger, CC BY 3.0; Bastique, Frank Schwichtenberg, CC BY 4.0; Japanexperterna.se, CC BY-SA 2.0; Ser Amantio di Nicolao, CC BY-SA 3.0; Armin Kübelbeck, Zde, Felix Winkelnkemper, CC BY-SA 4.0; modified)

Hundreds of Porsche Owners in Russia Unable to Start Cars After System Failure https://www.themoscowtimes.com/2025/12/02/hundreds-of-porsche-owners-in-russia-unable-to-start-cars-after-system-failure-a91302
The Enshittification of Plex Is Kicking Off, Starting with Free Roku Users https://gizmodo.com/the-enshittification-of-plex-is-kicking-off-starting-with-free-roku-users-2000694283
What Will Enter the Public Domain in 2026? https://publicdomainreview.org/features/entering-the-public-domain/2026/
Mastodon CEO change, 2026 reset https://www.manton.org/2025/12/02/mastodon-ceo-change-reset.html
#20yrsago Sony Rootkit Roundup IV https://memex.craphound.com/2005/12/02/sony-rootkit-roundup-iv/
#20yrsago How can you tell if a CD is infectious? https://web.archive.org/web/20051205043456/https://www.eff.org/deeplinks/archives/004228.php
#20yrsago France about to get worst copyright law in Europe? https://web.archive.org/web/20060111033356/http://eucd.info/index.php?2005/11/14/177-droit-d-auteur-eucdinfo-devoile-le-plan-d-attaque-des-majors
#15yrsago UNC team builds 3D model of Rome using Flickr photos on a single PC in one day https://readwrite.com/flickr_rome_3d_double-time/
#15yrsago Schneier’s modest proposal: Close the Washington monument! https://www.schneier.com/essays/archives/2010/12/close_the_washington.html
#15yrsago Tea Party Nation President proposes taking vote away from tenants https://web.archive.org/web/20101204012806/https://thinkprogress.org/2010/11/30/tea-party-voting-property/
#15yrsago What it’s like to be a cocaine submarine captain https://web.archive.org/web/20120602082933/https://www.spiegel.de/international/world/the-colombian-coke-sub-former-drug-smuggler-tells-his-story-a-732292.html
#10yrsago A profile of America’s killingest cops: the police of Kern County, CA https://www.theguardian.com/us-news/2015/dec/01/the-county-kern-county-deadliest-police-killings
#10yrsago The word “taser” comes from an old racist science fiction novel https://www.theguardian.com/commentisfree/2015/nov/30/history-of-word-taser-comes-from-century-old-racist-science-fiction-novel
#10yrsago HOWTO pack a suit so it doesn’t wrinkle https://www.youtube.com/watch?v=ug58yeMqNCo
#10yrsago Newly discovered WEB Du Bois science fiction story reveals more Afrofuturist history https://slate.com/technology/2015/12/the-princess-steel-a-recently-uncovered-short-story-by-w-e-b-du-bois-and-afrofuturism.html
#10yrsago A roadmap for killing TPP: the next SOPA uprising! https://www.eff.org/deeplinks/2015/12/tpp-current-state-play-how-we-defeat-largest-trade-deal
#10yrsago Wikipedia Russia suspends editor who tried to cut deal with Russian authorities https://www.themoscowtimes.com/archive/russian-wikipedia-suspends-editor-who-cut-deal-with-authorities
#10yrsago Vtech toy data-breach gets worse: 6.3 million children implicated https://web.archive.org/web/20151204033429/https://motherboard.vice.com/read/hacked-toymaker-vtech-admits-breach-actually-hit-63-million-children
#10yrsago Ironically, modern surveillance states are baffled by people who change countries https://memex.craphound.com/2015/12/02/ironically-modern-surveillance-states-are-baffled-by-people-who-change-countries/
#10yrsago Mozilla will let go of Thunderbird https://techcrunch.com/2015/11/30/thunderbird-flies-away-from-mozilla/
#10yrsago Rosa Parks was a radical, lifelong black liberation activist, not a “meek seamstress” https://web.archive.org/web/20151208224937/https://www.washingtonpost.com/posteverything/wp/2015/12/01/how-history-got-the-rosa-parks-story-wrong/
#10yrsago Racist algorithms: how Big Data makes bias seem objective https://www.fordfoundation.org/news-and-stories/stories/can-computers-be-racist-big-data-inequality-and-discrimination/
#5yrsago Nalo Hopkinson, Science Fiction Grand Master https://pluralistic.net/2020/12/02/in-the-ring/#go-nalo-go
#1yrago All the books I reviewed in 2024 https://pluralistic.net/2024/12/02/booklish/#2024-in-review

Virtual: Poetic Technologies with Brian Eno (David Graeber
Institute), Dec 8
https://davidgraeber.institute/poetic-technologies-with-cory-doctorow-and-brian-eno/
Madison, CT: Enshittification at RJ Julia, Dec 8
https://rjjulia.com/event/2025-12-08/cory-doctorow-enshittification
Hamburg: Chaos Communications Congress, Dec 27-30
https://events.ccc.de/congress/2025/infos/index.html
How Enshittification is Destroying The Internet (Frontline
Club)
https://www.youtube.com/watch?v=oovsyzB9L-s
Escape Forward with Cristina Caffarra
https://escape-forward.com/2025/11/27/enshittification-of-our-digital-experience/
Why Every Platform Betrays You (Trust Revolution)
https://fountain.fm/episode/bJgdt0hJAnppEve6Qmt8
How the internet went to sh*t (Prospect Magazine)
https://www.prospectmagazine.co.uk/podcasts/prospect-podcast/71663/cory-doctorow-how-the-internet-went-to-sht
"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 (the-bezzle.org).
"The Lost Cause:" a solarpunk novel of hope in the climate emergency, Tor Books (US), Head of Zeus (UK), November 2023 (http://lost-cause.org).
"The Internet Con": A nonfiction book about interoperability and Big Tech (Verso) September 2023 (http://seizethemeansofcomputation.org). Signed copies at Book Soup (https://www.booksoup.com/book/9781804291245).
"Red Team Blues": "A grabby, compulsive thriller that will leave you knowing more about how the world works than you did before." Tor Books http://redteamblues.com.
"Chokepoint Capitalism: How to Beat Big Tech, Tame Big Content, and Get Artists Paid, with Rebecca Giblin", on how to unrig the markets for creative labor, Beacon Press/Scribe 2022 https://chokepointcapitalism.com
"Enshittification, Why Everything Suddenly Got Worse and What to Do About It" (the graphic novel), Firstsecond, 2026
"The Memex Method," Farrar, Straus, Giroux, 2026
"The Reverse-Centaur's Guide to AI," a short book about being a better AI critic, Farrar, Straus and Giroux, June 2026
Today's top sources:
Currently writing:
"The Post-American Internet," a 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 Django Python
web framework project has
announced the release of Django 6.0 including many new
features, as can be seen in the release
notes. Some highlights include template partials for
modularizing templates, a flexible task framework for running
background tasks, a modernized email API, and a Content
Security Policy (CSP) feature that provides the ability to
"easily configure and enforce browser-level security policies to
protect against content injection
".
[$] Just: a command runner [LWN.net]
Over time, many Linux users wind up with a collection of aliases, shell scripts, and makefiles to run simple commands (or a series of commands) that are often used, but challenging to remember and annoying to type out at length. The just command runner is a Rust-based utility that just does one thing and does it well: it reads recipes from a text file (aptly called a "justfile"), and runs the commands from an invoked recipe. Rather than accumulating a library of one-off shell scripts over time, just provides a cross-platform tool with a framework and well-documented syntax for collecting and documenting tasks that makes it useful for solo users and collaborative projects.
A vector graphics workstation from the 70s [OSnews]
OK I promised computers, so let’s move to the Tek 4051 I got! Released in 1975, this was based on the 4010 series of terminals, but with a Motorola 6800 computer inside. This machine ran, like so many at the time, BASIC, but with extra subroutines for drawing and manipulating vector graphics. 8KB RAM was standard, but up to 32KB RAM could be installed. Extra software was installed via ROM modules in the back, for example to add DSP routines. Data could be saved on tape, and via RS232 and GBIP external devices could be attached!
All in all, a pretty capable machine, especially in 1975. BASIC computers where getting common, but graphics was pretty new. According to Tektronix the 4051 was ideal for researches, analysts and physicians, and this could be yours for the low low price of 6 grand, or around $36.000 in 2025. I could not find sales figures, but it seems that this was a decently successful machine. Tektronix also made the 4052, with a faster CPU, and the 4054, a 19″ 4K resolution behemoth! Tektronix continued making workstations until the 90s but like almost all workstations of the era, x86/Linux eventually took over the entire workstation market.
↫ Rik te Winkel at Just another electronics blog
Now that’s a retro computer you don’t see very often.
The nightly
emails didn't go out last night. It was easy to fix, a server
needed to be rebooted. The problems cascaded from there, long
story, but in the end I had to move one of my virtual-virtual
servers (two levels of virtuality) to another virtual server.
Upgrading versions of Node is a tricky process that I have never
mastered or understood, and every time it takes almost a full day
to do it. Something I hope to someday be able to find the time to
sort out. Not today, though -- I have a fun project planned out.
Really looking forward to doing the work and seeing the result.
They should make a version of bash on Linux that also accepts ChatGPT commands. As always they is someone other than me.
All That Means or Mourns [Original Fiction Archives - Reactor]
Illustrated by Jacqueline Tam
Edited by Carl Engle-Laird
Published on December 3, 2025

Transformed by a broad-spread fungal infection that connects humans with nature, one woman feels closer to the world than ever, but further from the people she loves the most…
Short story | 3,565 words
In the foyer, I shed the hospice’s cleansuit. The medically-licensed plastic sticks to my skin; the vent draft chills where I peel it away. I want to tear it off in handfuls. But I pull slowly, excruciatingly aware of every blocked pore, and finally stow it in the UV box contaminated but whole. Another visitor will need it soon, to dull their senses and reassure the dying.
Outside, Florida’s humidity is a living slap. I’m drenched in sweat despite my neck fan. My eyes sting; gut microbes churn with anticipatory grief. At least I’m no longer isolated. Sporulated whispers surround me. Even the parking lot holds life: gnats and tenacious anoles, bacteria in the soil beneath the permeable pavement, cracks pressed wide by choirs of lichen. My mycelial network yearns toward its kin, but the Animalia Serenitas Center would not approve if I sank to their killed-myco brick graytop to meditate.
The rental car automatically unplugs as I approach. No trains or tramlines here, in the sinking lands stolen from the Everglades. The driving assistant has regressed to default settings, and I have to readjust it—again—to my rare driver reflexes. I try to appreciate the trivial distraction, but it only feeds my pain. Mom’s dying grows tendrils into everything.
I need my fellow hyphae. At home I would bike to the cranberry bog or the maple swamp or the dunes, immerse myself in friends and neighbors. But Naples is an antifungal enclave where most people only step outside in sterile cleansuits. Corkscrew Sanctuary is the nearest option. The winding boardwalks, the miles of mangrove and cypress and sawgrass, the alligators and herons let everything in.
At the entrance, a screen lists birds sighted this week. When I was little, the board would be full by Friday, notes crowding into the margins. It’s sparser now. Watchers still spot the white ibis, the great blue heron, the peregrine, and the bald eagle, but the wood storks have been gone since the second-to-last avian flu, and other species have fallen to heat or storms. Or salt water, rising through porous ground to claim the grassy river. The swamp lets everything in.
The sun beats onto the tall grass and I’m forced to open my parasol, blocking the cloudless blue-gray sky. But there’s relief in the shade of the cypress trees. Even the mosquitos, fellow psilocordyceps hosts, take only a token blood offering. Their sting’s been bred out; I offer them a taste of megafaunal complexity and receive in turn an instant of blur-fast wings, ganglial hunger, and the purity of their swift satiation.
The boardwalk winds through shingled bark and cypress knees, slow water thick with fallen leaves, the sudden chitter of a cormorant, baby alligators sunning on logs. No turtles for years now. Mom loved this place, used to take hours identifying species while I raced impatiently ahead. Even before the cancer, she lost that; the hike was too hard in a cleansuit.
I don’t see any other humans until I reach the hyphae nest. We’ve taken over one of the old pit-stop gazebos, added hammocks and live-myco cushions to make comfortable laybacks, wound vines and branches through to ease connection. Two people sprawl with closed eyes and peaceful smiles; one is up and stretching. She bends her knee and lunges, back leg taut.
“Welcome!” she calls, unworried about waking the others. It’s just another greeting, natural as the cormorant’s. I fall into her offered hug, already sobbing.
Her body is more familiar than mosquito or moss, easy to interpret. Heartbeats and lungs sync up. Nerves fire like city lights. Her digestive system’s busier than mine. Fibroids snake through her uterus and something’s off in her lower back, a practiced drone of pain. Nothing unusual in her brain. I pay attention to brains, lately.
“My mother has glioblastoma,” I tell her. “She’s antifungal; I can’t make it feel real. I’m not ready.”
She holds me tighter. “I came out here with my brother every week while his lungs were breaking down. We could share everything. It’s never enough.” She leads me to a hammock, wraps me in vines. I close my eyes.
Mycelia transmit more slowly than neurons, and over longer distances. The world enters in patches. Strangler figs drink in sun and water and carbon dioxide, basking and growing and sending out lazy chemical signals. They drape over ink-scratch branches of cypress and curl against ragged bark. Branches stretch up from the trunk, trunks from knees that drink deep of the shallow water. Mushrooms grow into the roots, digest fallen logs, extend microscopic tendrils through mud and heron. The swamp flows slowly, shaped by every tree and fish and leaf and pebble, feasting on rot and breathing out abundance. I stretch my senses, loving and becoming.
As the whole rich system fills in, so do the lesions: acidity that singes gills, salinity that leaves larvae scrawny and weak, hungers where no hunger should last. Flickers of incomprehension, wordless mourning for prey long gone. Through it all winds the same psilocordyceps that inhabits me, that grows through almost everything now. Infection, bond, witness.
The human brain can only imagine itself a swamp for so long, even with practice. We have always been torn between wholeness and the quick, anxious passions that separate us. My hearing is first to retreat into my body: The other hyphae are awake and arguing.
“It has to have been deliberate. Random mutation would give you itchier athlete’s foot, not make you one with the universe.”
“I’m not saying it was random mutation. I’m saying the release was accidental. Someone meant to use it in a lab, for medical imaging or surveillance or some shit. If there was meaning in it getting out, it wasn’t human.”
“Are you talking about divine intervention?” This voice belongs to the woman who welcomed me. “Or are you saying the mushroom escaped on purpose?”
It’s a familiar discussion, endlessly interesting to some, endlessly dull to others. I go back and forth. Should it matter if the greatest gift of the twenty-first century was truly a gift? Nothing, god or human, has ever demanded our gratitude. But we would have questions, if we knew some cause beyond chance, and perhaps the unwanted offering of our gratitude anyway. Why not be grateful? Few things are better than they used to be.
“Purpose is a human thing,” says the second voice. When I open my eyes, the two earlier sleepers are sprawled together on the bench, one nested in the other’s arms. In the mycelial network they feel like a single organism, skin comforting skin.
“Purpose is a human illusion,” I offer, letting the conversation draw me into a different sort of connection. “We’re not as good at choosing actions, and their consequences, as we like to think.”
“So accidents are a human thing, too. Everything else just is.”
The argument continues: The question of how we, who now share senses with all of nature, can claim that nothing else has goals or choices or screwups. The question of whether there’s some higher purpose to those screwups, whether we’re ants unaware of the anthill. The question of what sort of purpose would allow the sheer levels of screwup that humans have managed.
This connection I can hold even less easily than the swamp: I let it fade again into a background drift of primate calls. The idea of purpose, and the thought that there is none, are both too painful. We can’t be all that means things, or all that mourns. There are flocks of feral macaws in the trees. We can’t translate them, but surely like us they circle the same questions over and over.
Like us, wherever they came from originally, they’re bound now to something dying.
I spend the next morning sorting papers at the house. Staying there means I don’t have to worry about hotel quarantine policies, but it also surrounds me with work of dubious utility and endless urgency. Dad had just moved into the antifungal apartments, and Mom was trying to sort everything out so she could sell the place and join him, when she got sick. Everything is half started or half done.
I might be able to sell the house to an antifungal, but not for much. Everyone knows Miami is in its last years. Salt infests groundwater and eats holes in the land above, and soon the antifungals will find another place where sinking land is cheap. I could abandon the place. After she dies. When she can’t know that I gave up on what she left behind. Or I could talk to her friends who side-eye me for being hyphae, ask them for help finding someone who needs the space and can take over the mortgage, someone who will glare at me for the gift.
So many places are salvageable, even on the coasts. Places where the bedrock is less porous, where long years of local organization and semifunctional state governments have funded seawalls, pumps, purification plants. There the hyphae do more than witness: We diagnose and treat and help the world adapt, find points where the right push can save a sliver of world.
I picked up signals once from a frog that we’d thought extinct. I recorded their calls and the pattern of their heartbeats, shared my data with other searchers, and we found enough to bring a breeding population together. We worked with the psilocordyceps to protect them from simpler and more deadly fungal infections. There’s a type of frog now in northern Maine that wouldn’t be there if I hadn’t paid attention and chosen to do something about what I found.
There’s nothing I can do for Mom. There’s nothing I can do for the Everglades. My love is useless here.
In the hospice cafeteria I sit with Dad. I can’t eat through the cleansuit and would quail at food I couldn’t sense—even aside from the fungicides, there might be anything in it. I haven’t shared a meal with my parents for two years.
I would’ve said we were close. We called every week, told each other about concerts and meals and broken appliances and broken weather, about birds spotted and books read and friends visited.
The question, unasked for two years, sits in the back of my throat.
He prods at his sandwich: fresh-baked sourdough piled with eggplant and roasted tomato. He takes a slow, forced bite. His eyes are distant. It would be cruel to ask him, now, why they pulled away from the world they taught me to love.
I remember the debate in the hyphae nest, the pain of unanswerable questions eased by shared sensation. I touch Dad’s arm with my suited hand, knowing he’ll flinch, offering and taking comfort anyway. At least he doesn’t pull away, just lets his head fall with the weight of everything we’re carrying.
“The nurse says it could be any day now,” he says finally. “But it could be a week or more. She’s got a strong heart.”
“She was always about . . .” I wave my hand vaguely, indicating years of hikes and high-fiber foods. “Do you remember the carob chip cookies?”
“Unfortunately. And that one stand at the farmers market that I swear put dirt in their muffins.”
“God, she loved that place, I have no idea why. She thinks they’re delicious.” I hesitate over tenses. She’s not quite past, not yet, but she’ll never again buy a dozen gravelly muffins for a potluck. Or else she is past, only her unconscious body withholding permission to acknowledge the loss. But the talking, at least—about her, not about us—creates some sort of backup, an echo of herness in our shared memories. “I wish healthy food were as nice as healthy exercise—she could always find the best walks.”
And Dad lifts his head, a fraction, and talks about the research she did when I was a baby, ten different apps to find one that could consistently recommend stroller-friendly hikes, and the places they got stuck, laughing and lifting, when the first tries failed.
In the corner beside the spare room couch I find the archaeology of Mom’s knitting: half-finished hats with crumpled patterns on top, simple pairs of slippers in all her family’s sizes, then the little spring-green afghan that I snuggled when I was five, and finally the lowest layer revealing some forgotten decade of leisure: an exuberance of lace shawls dewed with sparkling beads.
It should be the hats that hurt most, with their evidence that her organized mind was breaking down before anyone noticed, pushing against the start of the project again and again, as if this time she would find her way past the barrier. When I came to visit two months ago she was doing that with simple things: shuffling her feet forward and back, forward and back, lifting her walker and putting it down, explaining to us that “I just need to . . . first . . .” before trailing off.
Or it should be the afghan that makes me cry with safe-childhood nostalgia, as though childhood ever feels safe to anyone but grown-ups. Maybe the shawls should make me pine for the selfhoods she set aside in the press of work and childrearing. But it’s the slippers, of which I have a dozen pairs at home in Massachusetts, one from each Chanukah since my feet reached their adult size minus those worn out by late-night fridge raids. No one will ever take care of me in that precise way again, and I’m not ready. I curl over the pile, burying my tear-streaked face in yarn. Sometimes it comes like an avalanche: no one to sing “Old Devil Moon” as an off-key lullaby, no one extolling a specific breed of yeast over the rhythm of homemade bread dough, no emailed list of local trails every time she knows I’m traveling. And someday—it feels as real now as losing Mom—someday Dad will die and I’ll lose his ability to identify even the rarest out-of-place birds, his perfect foraged salads, his ability to turn everyday frustrations into giggle-worthy gossip.
And no matter how many hard conversations I try to have or avoid, there will be things I regret never asking and things I regret saying at all.
I sleep with the afghan that night. It’s not safe, but it’s simple. My mycelia reach out through the fabric, along the bed and the walls, looking for something to touch. They find a spider weaving above a dusty shelf, and my dreams are full of vibrating silk and mosquitos winking out like candle stubs.
The hospice calls at four am: any minute now. I struggle awake with cold tea and pull the car jerkily out of the driveway before I remember again to reset it. Breathe in the calm of sleeping birds in the parking lot, gulp morning mist, take too long to get the cleansuit on with shaking hands. What if I’ve missed it?
Dad is by the bed; I join him in the comfortable chairs. Mom’s favorite klezmer plays quietly from hidden speakers, anomalously cheerful. Her breathing is abrupt: inhaling into a frightening gurgle, snorting out, long pause, repeat. Every pause might be the one. We sit watching, waiting.
“Do you want some time alone with her?” asks Dad. “I’ve already said everything I need to.” I nod, and then it’s just me.
“Why won’t you let me be with you?” I whisper. But hearing is the last thing to go, and asking her is even crueler than asking Dad. “I love you. I have a good life, I’m doing good work. I’ll be okay, and I’ll keep going, and I’ll remember you every time I go for a hike.” I go on like that, saying the little reassuring things that I guess I’d want to know, if I were dying and had a grown child. I feel bad, because I do want kids and I don’t have them yet, and they’ll never get to meet her. I don’t say that, and I don’t thank her for not nudging me about grandchildren. Nothing aloud, except for the things I can promise will continue past her horizon.
I run out of things to say, and she’s still breathing: gurgle, snort, pause, repeat. Time feels impossible: We’ll be in this limbo of waiting forever. Dad isn’t back. I could slip off part of my suit, brush her face, let the hyphae give us a last moment of connection. Isolated in her body, maybe she would appreciate it now.
I hover. But it’s a childish urge: to do the forbidden thing, to get castigated with crumbs still on your tongue. The remnants of Mom’s choices depend on our cooperation. Then there would be Dad’s choices lost, and the other patients’ and their families’; my hand drops, clenched with responsible misery.
Dad returns. “The nurse says that sometimes people wait until they’re alone. That they don’t want their family to see.”
“I guess that makes sense.” It makes sense as something they tell you to give meaning to the meaningless, or to help you feel okay about not being in the room, waiting forever. Somehow, someone who hasn’t been able to move her foot consistently for two months will claim this last bit of control over her movement from being to not-being.
It’s dusk when I return to Corkscrew: almost cool, almost comfortable. Sawgrass chirrs. A heron rasps, and an owl sends up its banshee cry from amid the mangroves. I stretch for memories of what it sounded like when I was younger, here with Mom and Dad: What’s been lost? I must have neglected so many details.
I hoped for human company, but the hyphae nest is empty. The park closes in half an hour. In Massachusetts it wouldn’t matter: There would be as many witnesses to the nocturnal ecology as to the daylit one, defenders and scholars of peep frogs. Maybe the disapproving neighbors discourage it, or maybe no one wants to sit vigil in the dark, waiting for salt water to slowly drown the fresh. Loons call, and early nightbirds, and I hear the low rumble of an alligator chiding her babies.
We never know, for all that we share our senses, what else in this world feels grief.
I lie there for a long time, trying to lose myself in awareness of other creatures. The precipice will come soon, and I’m not ready. I can’t get away from telling myself stories about how I’ll feel tomorrow. The opposite of anticipation: Now my phone will vibrate, and I’ll know. It’ll happen now. Now. Now.
I imagine talking with my mother, something I haven’t been able to do for four months. Why come here? Why did you choose to separate us this way? But no, if I had one more chance to talk with her, I’d pick another conversation. Something trivial, gentle. I’m thinking about getting a new cat. A tabby, like the one we had when I was little.
But then, that circles back to the same thing. The relationship I would have with a cat now is different from toddling after shape and fur, never understanding the fear that leads to a scratch or the way a purr feels from inside. Those things I couldn’t talk about, or must, would form a barrier either way.
At first it was common: So many people who weren’t infected immediately found ways to hold it off. We’d rather wait, they said. We want to know more about what we’re getting into. See if there are any long-term effects. Then the hyphae didn’t get sick, and we saved frogs and put intimate sensations into scientific papers. People got curious, or comfortable, or bored, or just tired of barriers. The holdouts grew fewer.
Why you?
Steps echo, hollow percussion on the boardwalk. I lift my head even as I realize that this isn’t the company I sought, let alone imagined. The cleansuit outlines a blank space in the world.
The swamp is all shadows now, glints of salmon and indigo through the trees. It takes me a minute to recognize Dad: his stride slowed by hesitation, squinting even now to track one of the bird calls, familiar striped shirt compressed under the suit. Mom always rolled her eyes at those shirts, but he bought them five at a time. Hard enough to find one thing that fits, he’d said.
“What are you doing here?” slips out, rude and foolish. But I didn’t tell him where I’d be. It’s been years since we walked here together. My stomach drops, and my voice. “Is she—?”
He shakes his head. “I guessed you’d be here. It’s where—” He waves at the nest. “I guessed.” He sits on one of the laybacks, awkwardly, brushing aside dangling leaves. This place isn’t made for avoiding touch.
I’ll only have so many conversations with him; that feels real now in a way it never did until this year. This one isn’t the last. But it’s the one for today, the one we’ll remember having in the suspended hour before Mom is gone and only matter remains. Here on my side of the thinnest barrier, alone with a dying world, I try to decide what to say.
“All that Means or Mourns” copyright © 2025
by Ruthanna Emrys
Art copyright © 2025 by Jacqueline Tam
The post All That Means or Mourns appeared first on Reactor.
The 2025 Whatever Holiday Gift Guide, Day Three: Arts, Crafts, Music and More [Whatever]

The Whatever Holiday Gift Guide 2025 continues, and today we move away from books and focus on other gifts and crafts — which you can take to mean just about any other sort of thing a creative person might make: Music, art, knitting, jewelry, artisan foodstuffs and so on. These can be great, unique gifts for special folks in your life, and things you can’t just get down at the mall. I hope you see some cool stuff here.
Please note that the comment thread today is only for creators to post about their gifts for sale; please do not leave other comments, as they will be snipped out to keep the thread from getting cluttered. Thanks!
Creators: Here’s how to post in this thread. Please follow these directions!
1. Creators (of things other than books) only. This is an intentionally expansive category, so if you’ve made something and have it available for the public to try or buy, you can probably post about in this thread. The exception to this is books (including comics and graphic novels), which have two previously existing threads, one for traditionally-published works and one for non-traditionally published works (Note: if you are an author and also create other stuff, you may promote that other stuff today). Don’t post if you are not the creator of the thing you want to promote, please.
2. Personally-created and completed works only. This thread is specifically for artists and creators who are making their own unique works. Mass-producible things like CDs, buttons or T-shirts are acceptable if you’ve personally created what’s on it. But please don’t use this thread for things that were created by others, which you happen to sell. Likewise, do not post about works in progress, even if you’re posting them publicly elsewhere. Remember that this is supposed to be a gift guide, and that these are things meant to be given to other people. Also, don’t just promote yourself unless you have something to sell or provide, that others may give as a gift.
3. One post per creator. In that post, you can list whatever creations of yours you like, but allow me to suggest you focus on your most recent creation. Note also that the majority of Whatever’s readership is in the US/Canada, so I suggest focusing on things available in North America. If you are elsewhere and your work is available there, please note it.
4. Keep your description of your work brief (there will be a lot of posts, I’m guessing) and entertaining. Imagine the person is in front of you as you tell them about your work and is interested but easily distracted.
5. You may include a link to a sales site if you like by using dropping in a URL. Be warned that if you include too many links (typically three or more) your post may get sent to the moderating queue. If this happens, don’t panic: I’ll be going in through the day to release moderated posts. Note that posts will occasionally go into the moderation queue semi-randomly; Don’t panic about that either.
6. As noted above, comment posts that are not from creators promoting their work as specified above will be deleted, in order to keep the comment thread useful for people looking to find interesting work.
Now: Tell us about your stuff!
Tomorrow: Fan Favorites!
Security updates for Wednesday [LWN.net]
Security updates have been issued by Debian (containerd, mako, and xen), Fedora (forgejo, nextcloud, openbao, rclone, restic, and tigervnc), Oracle (firefox, kernel, libtiff, libxml2, and postgresql), SUSE (libecpg6, lightdm-kde-greeter, python-cbor2, python-mistralclient-doc, python315, and python39), and Ubuntu (kdeconnect, linux, linux-aws, linux-realtime, python-django, and unbound).
A final stable kernel update for 5.4 [LWN.net]
Greg Kroah-Hartman has announced the release of the 5.4.302 stable kernel:
This is the LAST 5.4.y release. It is now end-of-life and should not be used by anyone, anymore. As of this point in time, there are 1539 documented unfixed CVEs for this kernel branch, and that number will only increase over time as more CVEs get assigned for kernel bugs.
For the curious, Kroah-Hartman has also provided a list of the unfixed CVEs for 5.4.302.
AI Agents Need Guardrails [Radar]
When AI systems were just a single model behind an API, life felt simpler. You trained, deployed, and maybe fine-tuned a few hyperparameters.
But that world’s gone. Today, AI feels less like a single engine and more like a busy city—a network of small, specialized agents constantly talking to each other, calling APIs, automating workflows, and making decisions faster than humans can even follow.
And here’s the real challenge: The smarter and more independent these agents get, the harder it becomes to stay in control. Performance isn’t what slows us down anymore. Governance is.
How do we make sure these agents act ethically, safely, and within policy? How do we log what happened when multiple agents collaborate? How do we trace who decided what in an AI-driven workflow that touches user data, APIs, and financial transactions?
That’s where the idea of engineering governance into the stack comes in. Instead of treating governance as paperwork at the end of a project, we can build it into the architecture itself.
In the old days of machine learning, things were pretty linear. You had a clear pipeline: collect data, train the model, validate it, deploy, monitor. Each stage had its tools and dashboards, and everyone knew where to look when something broke.
But with AI agents, that neat pipeline turns into a web. A single customer-service agent might call a summarization agent, which then asks a retrieval agent for context, which in turn queries an internal API—all happening asynchronously, sometimes across different systems.
It’s less like a pipeline now and more like a network of tiny brains, all thinking and talking at once. And that changes how we debug, audit, and govern. When an agent accidentally sends confidential data to the wrong API, you can’t just check one log file anymore. You need to trace the whole story: which agent called which, what data moved where, and why each decision was made. In other words, you need full lineage, context, and intent tracing across the entire ecosystem.
Governance in AI isn’t new. We already have frameworks like NIST’s AI Risk Management Framework (AI RMF) and the EU AI Act defining principles like transparency, fairness, and accountability. The problem is these frameworks often stay at the policy level, while engineers work at the pipeline level. The two worlds rarely meet. In practice, that means teams might comply on paper but have no real mechanism for enforcement inside their systems.
What we really need is a bridge—a way to turn those high-level principles into something that runs alongside the code, testing and verifying behavior in real time. Governance shouldn’t be another checklist or approval form; it should be a runtime layer that sits next to your AI agents—ensuring every action follows approved paths, every dataset stays where it belongs, and every decision can be traced when something goes wrong.
Policies shouldn’t live in forgotten PDFs or static policy docs. They should live next to your code. By using tools like the Open Policy Agent (OPA), you can turn rules into version-controlled code that’s reviewable, testable, and enforceable. Think of it like writing infrastructure as code, but for ethics and compliance. You can define rules such as:
This way, developers and compliance folks stop talking past each other—they work in the same repo, speaking the same language.
And the best part? You can spin up a Dockerized OPA instance right next to your AI agents inside your Kubernetes cluster. It just sits there quietly, watching requests, checking rules, and blocking anything risky before it hits your APIs or data stores.
Governance stops being some scary afterthought. It becomes just another microservice. Scalable. Observable. Testable. Like everything else that matters.
Agents need to be observable not just in performance terms (latency, errors) but in decision terms. When an agent chain executes, we should be able to answer:
Modern observability stacks—Cloud Logging, OpenTelemetry, Prometheus, or Grafana Loki—can already capture structured logs and traces. What’s missing is semantic context: linking actions to intent and policy.
Imagine extending your logs to capture not only “API called” but also “Agent FinanceBot requested API X under policy Y with risk score 0.7.” That’s the kind of metadata that turns telemetry into governance.
When your system runs in Kubernetes, sidecar containers can automatically inject this metadata into every request, creating a governance trace as natural as network telemetry.
Governance shouldn’t mean blocking everything; it should mean evaluating risk intelligently. In an agent network, different actions have different implications. A “summarize report” request is low risk. A “transfer funds” or “delete records” request is high risk.
By assigning dynamic risk scores to actions, you can decide in real time whether to:
You can compute risk scores using metadata such as agent role, data sensitivity, and confidence level. Cloud providers like Google Cloud Vertex AI Model Monitoring already support risk tagging and drift detection—you can extend those ideas to agent actions.
The point isn’t to slow agents down but to make their behavior context-aware.
Frameworks like NIST AI RMF and the EU AI Act are often seen as
legal mandates.
In reality, they can double as engineering
blueprints.
| Governance principle | Engineering implementation |
| Transparency | Agent activity logs, explainability metadata |
| Accountability | Immutable audit trails in Cloud Logging/Chronicle |
| Robustness | Canary testing, rollout control in Kubernetes |
| Risk management | Real-time scoring, human-in-the-loop review |
Mapping these requirements into cloud and container tools turns compliance into configuration.
Once you start thinking of governance as a runtime layer, the next step is to design what that actually looks like in production.
Let’s visualize a practical, cloud native setup—something you could deploy tomorrow.
[Agent Layer]
↓
[Governance Layer]
→ Policy Engine (OPA)
→ Risk Scoring Service
→ Audit Logger (Pub/Sub + Cloud Logging)
↓
[Tool / API Layer]
→ Internal APIs, Databases, External Services
↓
[Monitoring + Dashboard Layer]
→ Grafana, BigQuery, Looker, Chronicle
All of these can run on Kubernetes with Docker containers for modularity. The governance layer acts as a smart proxy—it intercepts agent calls, evaluates policy and risk, then logs and forwards the request if approved.
In practice:
This separation of concerns keeps things clean: Developers focus on agent logic, security teams manage policy rules, and compliance officers monitor dashboards instead of sifting through raw logs. It’s governance you can actually operate—not bureaucracy you try to remember later.
When I started integrating governance layers into multi-agent pipelines, I learned three things quickly:
In one real-world deployment for a financial-tech environment, we used a Kubernetes admission controller to enforce policy before pods could interact with sensitive APIs. Each request was tagged with a “risk context” label that traveled through the observability stack. The result? Governance without friction. Developers barely noticed it—until the compliance audit, when everything just worked.
Despite all the automation, people should also be involved in making some decisions. A healthy governance stack knows when to ask for help. Imagine a risk-scoring service that occasionally flags “Agent Alpha has exceeded transaction threshold three times today.” As an alternative to blocking, it may forward the request to a human operator via Slack or an internal dashboard. That is not a weakness but a good indication of maturity when an automated system requires a person to review it. Reliable AI does not imply eliminating people; it means knowing when to bring them back in.
Every company wants to say they have AI governance. But there’s a difference between governance theater—policies written but never enforced—and governance engineering—policies turned into running code.
Governance theater produces binders. Governance engineering produces metrics:
When you can measure governance, you can improve it. That’s how you move from pretending to protect systems to proving that you do. The future of AI isn’t just about building smarter models; it’s about building smarter guardrails. Governance isn’t bureaucracy—it’s infrastructure for trust. And just as we’ve made automated testing part of every CI/CD pipeline, we’ll soon treat governance checks the same way: built in, versioned, and continuously improved.
True progress in AI doesn’t come from slowing down. It comes from giving it direction, so innovation moves fast but never loses sight of what’s right.
Spinnerette - Issue 43 - 23 [Spinnerette]
![]()
New comic!
Today's News:
The Thanksgiving Shakedown [The Daily WTF]
On Thanksgiving Day, Ellis had cuddled up with her sleeping cat on the couch to send holiday greetings to friends. There in her inbox, lurking between several well wishes, was an email from an unrecognized sender with the subject line, Final Account Statement. Upon opening it, she read the following:
Dear Ellis,
Your final account statement dated -1 has been sent to you. Please log into your portal and review your balance due totaling #TOTAL_CHARGES#.
Payment must be received within 30 days of this notice to avoid collection. You may submit payment online via [Payment Portal Link] or by mail to:
Chamberlin Apartments
123 Main Street
Anytown US 12345If you believe there is an error on your account, please contact us immediately at 212-555-1212.
Thank you for your prompt attention to this matter.
Chamberlin Apartments
Ellis had indeed rented an apartment managed by this company, but had moved out 16 years earlier. She'd never been late with a payment for anything in her life. What a time to receive such a thing, at the start of a long holiday weekend when no one would be able to do anything about it for the next 4 days!
She truly had so much to be grateful for that Thanksgiving, and here was yet more for her list: her broad technical knowledge, her experience working in multiple IT domains, and her many years of writing up just these sorts of stories for The Daily WTF. All of this added up to her laughing instead of panicking. She could just imagine the poor intern who'd hit "Send" by mistake. She also imagined she wasn't the only person who'd received this message. Rightfully scared and angry callers would soon be hammering that phone number, and Ellis was further grateful that she wasn't the one who had to pick up.
"I'll wait for the apology email!" she said out loud with a knowing smile on her face, closing out the browser tab.
Ellis moved on physically and mentally, going forward with her planned Thanksgiving festivities without giving it another thought. The next morning, she checked her inbox with curious anticipation. Had there been a retraction, a please disregard?
No. Instead, there were still more emails from the same sender. The second, sent 7 hours after the first, bore the subject line Second Notice - Outstanding Final Balance:
Dear Ellis,
Our records show that your final balance of #TOTAL_CHARGES# from your residency at your previous residence remains unpaid.
This is your second notice. Please remit payment in full or contact us to discuss the balance to prevent your account from being sent to collections.
Failure to resolve the balance within the next 15 days may result in your account being referred to a third-party collections agency, which could impact your credit rating.
To make payment or discuss your account, please contact us at 212-555-1212 or accounting@chamapts.com.
Sincerely,
Chamberlin Apartments
The third, sent 6 and a half hours later, threatened Final Notice - Account Will Be Sent to Collections.
Dear Ellis,
Despite previous notices, your final account balance remains unpaid.
This email serves as final notice before your account is forwarded to a third-party collections agency for recovery. Once transferred, we will no longer be able to accept payment directly or discuss the account.
To prevent this, payment of #TOTAL_CHARGES# must be paid in full by #CRITICALDATE#.
Please submit payment immediately. Please contact 212-555-1212 to confirm your payment.
Sincerely,
Chamberlin Apartments
It was almost certainly a mistake, but still rather spooky to someone who'd never been in such a situation. There was solace in the thought that, if they really did try to force Ellis to pay #TOTAL_CHARGES# on the basis of these messages, anyone would find it absurd that all 3 notices were sent mere hours apart, on a holiday no less. The first two had also mentioned 30 and 15 days to pay up, respectively.
Suddenly remembering that she probably wasn't the only recipient of these obvious form emails, Ellis thought to check her local subreddit. Sure enough, there was already a post revealing the range of panic and bewilderment they had wrought among hundreds, if not thousands. Current and more recent former tenants had actually seen #TOTAL_CHARGES# populated with the correct amount of monthly rent. People feared everything from phishing attempts to security breaches.
It wasn't until later that afternoon that Ellis finally received the anticipated mea culpa:
We are reaching out to sincerely apologize for the incorrect collection emails you received. These messages were sent in error due to a system malfunction that released draft messages to our entire database.
Please be assured of the following:
The recent emails do not reflect your actual account status.
If your account does have an outstanding balance, that status has not changed, and you would have already received direct and accurate communication from our office.
Please disregard all three messages sent in error. They do not require any action from you.We understand that receiving these messages, especially over a holiday, was upsetting and confusing, and we are truly sorry for the stress this caused. The issue has now been fully resolved, and our team has worked with our software provider to stop all queued messages and ensure this does not happen again.
If you have any questions or concerns, please feel free to email leasing@chamapts.com. Thank you for your patience and understanding.
All's well that ends well. Ellis thanked the software provider's "system malfunction," whoever or whatever it may've been, that had granted the rest of us a bit of holiday magic to take forward for all time.
The red zone, wasted [Seth's Blog]
Sports cars have a tachometer, a gauge showing how close the motor is to melting down.
When the revs enter the red zone, performance is enhanced–for a while. Do it too much or for too long, and you’ll burn out.
In our work, there are two sorts of red zones.
Athletes know that the last 5% of their effort accounts for 100% of their success. The same is true for pianists and any endeavor where we are sorted by elite performance.
But many people work in industries where the last 5% of their effort might account for just 5% of their success. A stockbroker who stays busy cold calling clients late into the night doesn’t receive increasing rewards–they just get a little busier.
The problem with the linear reward curve is obvious–people who are driven to get just a little more repeatedly do just a little more, until they’ve broken everything they said they wanted.
If you’re going into the red zone, be clear about what the outcome is supposed to be.
Michael Ablassmeier: libvirt 11.10 VIR_DOMAIN_BACKUP_BEGIN_PRESERVE_SHUTDOWN_DOMAIN [Planet Debian]
As with libvirt 11.10 a new flag for backup operation has been inroduced: VIR_DOMAIN_BACKUP_BEGIN_PRESERVE_SHUTDOWN_DOMAIN.
According to the documentation “It instructs libvirt to avoid termination of the VM if the guest OS shuts down while the backup is still running. The VM is in that scenario reset and paused instead of terminated allowing the backup to finish. Once the backup finishes the VM process is terminated.”
Added support for this in virtnbdbackup 2.40.
New Schedule [Ctrl+Alt+Del Comic]
As I discussed last month, the update schedule for the website has now changed for the first time in over twenty years. The new update days are Monday and Friday. The Ctrl+Alt+Del Patreon will continue to get the comic three times a week, along with other additional content, so I’ve made the above graphic just […]
The post New Schedule appeared first on Ctrl+Alt+Del Comic.
Stranger Things [Penny Arcade]
New Comic: Stranger Things
Girl Genius for Wednesday, December 03, 2025 [Girl Genius]
The Girl Genius comic for Wednesday, December 03, 2025 has been posted.
Christian Coalition harvests US gov't [Richard Stallman's Political Notes]
Vance is closely linked to fanatical Christians whose variant of Christianity says that they should dominate and control everyone, crush dissent, and impose their theology on everyone — by hook or by crook.
Utkarsh Gupta: FOSS Activites in November 2025 [Planet Debian]
Here’s my monthly but brief update about the activities I’ve done in the FOSS world.
Whilst I didn’t get a chance to do much, here are still a few things that I worked on:
I joined Canonical to work on Ubuntu full-time back in February 2021.
Whilst I can’t give a full, detailed list of things I did, here’s a quick TL;DR of what I did:
This month I have worked 22 hours on Debian Long Term Support (LTS) and on its sister Extended LTS project and did the following things:
wordpress: There were multiple vulnerabilities reported in Wordpress, leading to Sent Data & Cross-site Scripting.
ruby-rack: There were multiple vulnerabilities reported in Rack, leading to DoS (memory exhaustion) and proxy bypass.
libwebsockets: Multiple issues were reported in LWS causing denial of service and stack-based buffer overflow.
mako: It was found that Mako, a Python template library, was vulnerable to a denial of service attack via crafted regular expressions.
ceph: Affected by CVE-2024-47866, using the
argument x-amz-copy-source to put an object and
specifying an empty string as its content leads to the RGW daemon
crashing, resulting in a DoS attack.
[LTS] Attended the monthly LTS meeting on IRC. Summary here.
[E/LTS] Monitored discussions on mailing lists, IRC, and all the documentation updates. Thanks, Sylvain, for a great documentation summary.
Until next time.
:wq for today.
Today's song: Old Folks Boogie. Sooooo you know that you're over the hill when your mind makes a promise that your body can't fill.
There's a question going around in WordPressLand as to
whether there are any RSS apps. Yes, of course there are. Have a
look at
daveverse, in the right
margin. That's a feed reader. All the feeds I follow personally.
When one of them updates it goes to the top. You can see the five
most recent posts by clicking on the wedge next to the title, and
from there, you can go to the website by clicking the link. That's
available as a WordPress
plug-in.
The December Comfort Watches 2025, Day Two: Master and Commander: The Far Side of the World [Whatever]


Master and Commander: The Far Side of the World wastes no time in getting the viewer acquainted with the HMS Surprise; in a few brief moments we’re given a sailor’s-eye view of the cramped below decks, home to the crew in their hammocks and livestock in tiny pens, a series of 12-pound guns and some very low ceilings. Then we’re on deck for the dawn and the change of crew, and as this is 1805, this involves sailors climbing up and down rigging and officers in stiff suits and tall hats. It’s all very peaceful, until the French privateer Acheron comes out of the fog and starts taking the Surprise apart with its cannons.
And those scenes, too, waste no time at all: In impressively quick fashion the Surprise is blasted near into splinters, some of which impale themselves into the bodies of the crew; the Captain, “Lucky Jack” Aubrey, is concussed near to death; the ship’s surgeon Stephen Maturin is so quickly drenched in the crew’s blood that he calls for sand to be thrown on the floor to keep him from slipping as he operates; and despite the courage of the ship’s crew and the pounding of their own cannon, it is only a lucky fogbank, and the backs of rowers, that keep the Surprise alive to live another day.
It’s all beautifully shot and nothing about it is in the least bit romantic. One or two lucky cannonballs more and this movie would have been an Oscar-nominated short film, not an Oscar-nominated feature. In its way, this opening was a risk for the story: Very few movies this century would open with their dashing hero (and attendant film star) so comprehensively being handed his ass as Aubrey and Russell Crowe, who embodies him, are here.
But then, this is one of the things that makes Master and Commander so watchable; it’s unflinching, in a strikingly cinematic way. Unlike its nautical contemporary Pirates of the Caribbean (both released in 2003), this movie isn’t about pretending the past is full of dashing adventures where everyone is beautiful and nothing really hurts. Lots of things hurt in this version of the early 19th century. Everything is crowded and cramped, the joys of the day are limited to an extra ration of rum, you may find yourself whipped for disrespecting an officer, and you might be given an order by your captain that sends your best mate to his death. Oh, and there’s still the Acheron out there somewhere, waiting to stuff you full of grapeshot and death.
One of the things that sells all of this is Crowe, who in 2003 was in the imperial phase of his career, and on a streak of indelible performances that started with LA Confidential, continued through Gladiator and A Beautiful Mind and ended up here. Crowe’s Aubrey is an interesting study of contradictions: both a proponent of order and a little bit feral, a man who can inspire nearly mythical levels of loyalty, and then turn around and offer some of the worst puns recorded to celluloid. He can slap down his best friend Maturin when the two of them are at philosophical odds, and then go to heroic lengths for Maturin’s well-being. Crowe at his height was a movie star of the first water, and he was pretty close to his height here.
(To be clear, he’s helped by having a counterweight in Paul Bettany’s Maturin — the two men had worked together very effectively in A Beautiful Mind, and their chemistry continues here. Bettany is not here nor ever was the movie star Crowe is, but he’s as good an actor for certain, and his angularity and sardonicism complement Crowe’s ruddiness and bluster. You can believe these two could fight so explosively and still be friends afterward. A shame they have not worked together since this.)
Master and Commander was a passion project for Tom Rothman, then head of 20th Century Fox, which explains how it was made at all. The Pirates of the Caribbean notwithstanding, no one in the early years of the 21st century was screaming for a naval adventure, particularly a realistic one set in the days of the struggle between Britain and Napoleonic France. Certainly the movie’s box office reflected this: it brought in $82.6 million at the domestic box office, below Freddy Vs. Jason and Daddy Day Care.
But then, what’s the point of being boss if you can’t occasionally make what you want to make? Fox and Rothman certainly spared no expense; the film had a $150 million budget and an A-list director in Peter Weir, whose career had an interesting range to it, from Witness to The Truman Show. The film was nominated for 10 Oscars, including Best Picture and Director, and deservingly won for cinematography (Russell Boyd) and sound editing (Richard King, the first of five, so far, for him). This film was a classic prestige play and Oscar bait, and in that respect it paid off pretty well. In a different year it might have even won Best Picture, but in this year it was up against The Return of the King, so.
Are there flaws to note in this film? Well, it’s a nautical sausage fest, for one, which one hand isn’t terribly surprising given almost all of the movie takes place on a 19th century British naval vessel, where women mostly weren’t. The Patrick O’Brien novels on which the film was based do have notable women characters, so it’s possible that if the movie had been more financially successful, at least a couple of them might have appeared in the sequels. But here there’s exactly one, glimpsed briefly by Aubrey as his crew is buying oranges and monkeys for their journey. A Bechdel Test passer, this film is not.
Speaking of the novels, fans of the Aubrey-Maturin novels might grumble that the movie doesn’t especially closely follow any one of them, and made significant alterations to ones it did borrow from. I can acknowledge their potential dissatisfaction while at the same time saying that for someone who is not a devotee of the series (raises hand), what is here seems to work well enough, and it was a shame, if not a surprise, that we didn’t get any more films out of these books. Nor do I think we will be getting any more films out of these books; if I were pitching these books in Hollywood now, I’d be pitching them as a prestige streaming series, a medium and mode where I think there would be more appetite for such a thing, and where the story might make more economic sense.
Still, I’m glad that Rothman decided to spend a little bit (or actually a lot) of the money Fox was getting out of the X-Men and Ice Age series to make this extremely handsome, extremely rewatchable ballad to the high seas. I’m glad I didn’t live in an age where I might find myself on one of these ships, and Master and Commander really confirms that if I did live then, I would best be left on dry land. But given appropriate distance in time and nautical miles, I’m happy to get this glimpse into a life on the sea, and wave as it sails by.
— JS

Sexual Edward
Can no longer afford McDonald's [Richard Stallman's Political Notes]
Due to rapid increase in the US cost of living, customers of McDonald's can no longer afford to eat at McDonald's.
US thugs blocking investigations [Richard Stallman's Political Notes]
US thugs accused of serious crimes are blocking investigation using a law intended to protect the privacy of victims.
Premature deaths from air pollution [Richard Stallman's Political Notes]
*Air pollution from oil and gas causes 90,000 premature US deaths each year, says new study.* This is roughly 2% of all US deaths in a year.
If global climate disaster happens, it is likely to cause hundreds of millions of premature deaths per year. To avoid that requires greatly reducing the use of fossil fuels. The toxicity of these emissions is one added reason to do that quickly.
Possible fossil gas shortage around 2030 [Richard Stallman's Political Notes]
Britain's energy minister warns of a possible shortage of fossil gas around 2030, and makes a recommendation with a gaping blind spot.
Deportation thug "use of force" report written by bullshit generator [Richard Stallman's Political Notes]
A deportation thug was required to write a "use of force" report, and submitted a report that was almost all bullshit, invented by a bullshit generator which had only the slightest information about what the thug actually did.
That thug should be punished for submitting a probably false report.
Ukraine used drone boats to attack Russian oil tankers [Richard Stallman's Political Notes]
Ukraine used drone boats to attack two Russian oil tankers sailing empty to Novorossiysk to pick up an export cargo of oil.
I suggested this method a few years ago.
FDA adopted magat criteria for approval of new vaccines [Richard Stallman's Political Notes]
The FDA has adopted magat criteria for the approval of new vaccines, based on the anti-vax ideology whose adherents the saboteur in chief has appointed.
The alleged evidence for this has not been published scientifically, so thoughtful scientists are being blocked from studying that evidence.
Israel's de facto state policy of organised torture [Richard Stallman's Political Notes]
The UN committee which monitors torture practices of various countries has reported that *Israel has "de facto state policy" of organised torture,*
Local climate disasters happening in many countries [Richard Stallman's Political Notes]
Local climate disasters are happening in many countries. This article presents interviews with disaster victims in countries around the world.
As long as we allow continued increase in the greenhouse gas level, these disasters will keep getting worse and more frequent.
Israeli soldiers shot Palestinians who had surrendered to them [Richard Stallman's Political Notes]
Israeli soldiers shot Palestinians who had surrendered to them. Journalists have a video of it.
Secret surveillance of Martin Luther King [Richard Stallman's Political Notes]
Once-secret photos from 1964 demonstrate how the New York City thugs secretly surveilled Martin Luther King and those around him, even as the city lionized him.
Billions earmarked for former coal communities [Richard Stallman's Political Notes]
*Biden earmarked billions for former coal communities in Appalachia – and [the saboteur in chief] came and took it away.
How fascism imposes itself and why we should resist [Richard Stallman's Political Notes]
How fascism imposes itself such that few people ever think of resisting, and why we need to resist it before that becomes terrifyingly dangerous.
Europe's water reserves drying up [Richard Stallman's Political Notes]
*Vast swathes of Europe's water reserves are drying up.* This is due to global heating, and it is not limited to the south. It covers Poland and even parts of Britain.
A few parts of Europe are becoming wetter.
Federal agent dressed as construction worker [Richard Stallman's Political Notes]
*The Intercept confirmed that a federal agent caught on camera wearing a [construction worker] hard hat and safety vest works for [the deportation thugs].*
I asked ChatGPT to write an email to Sam Altman for me. It's about a possible way to compete with Google.
Simon Josefsson: Guix on Trisquel & Ubuntu for Reproducible CI/CD Artifacts [Planet Debian]
Last week I published Guix on Debian container images that prepared for today’s announcement of Guix on Trisquel/Ubuntu container images.
I have published images with reasonably modern Guix for Trisquel 11 aramo, Trisquel 12 ecne, Ubuntu 22.04 and Ubuntu 24.04. The Ubuntu images are available for both amd64 and arm64, but unfortunately Trisquel arm64 containers aren’t available yet so they are only for amd64. Images for ppc64el and riscv64 are work in progress. The currently supported container names:
registry.gitlab.com/debdistutils/guix/guix-on-dpkg:trisquel11-guix
registry.gitlab.com/debdistutils/guix/guix-on-dpkg:trisquel12-guix
registry.gitlab.com/debdistutils/guix/guix-on-dpkg:ubuntu22.04-guix
registry.gitlab.com/debdistutils/guix/guix-on-dpkg:ubuntu24.04-guix
Or you prefer guix-on-dpkg on Docker Hub:
docker.io/jas4711/guix-on-dpkg:trisquel11-guix
docker.io/jas4711/guix-on-dpkg:trisquel12-guix
docker.io/jas4711/guix-on-dpkg:ubuntu22.04-guix
docker.io/jas4711/guix-on-dpkg:ubuntu24.04-guix
You may use them as follows. See the
guix-on-dpkg README for how to start guix-daemon
and installing packages.
jas@kaka:~$ podman run -it --hostname guix --rm registry.gitlab.com/debdistutils/guix/guix-on-dpkg:trisquel11-guix
root@guix:/# head -1 /etc/os-release
NAME="Trisquel GNU/Linux"
root@guix:/# guix describe
guix 136fc8b
repository URL: https://gitlab.com/debdistutils/guix/mirror.git
branch: master
commit: 136fc8bfe91a64d28b6c54cf8f5930ffe787c16e
root@guix:/#
You may now be asking yourself: why? Fear not, gentle reader, because having two container images of roughly similar software is a great tool for attempting to build software artifacts reproducible, and comparing the result to spot differences. Obviously.
I have been using this pattern to get reproducible tarball artifacts of several software releases for around a year and half, since libntlm 1.8.
Let’s walk through how to setup a CI/CD pipeline that will build a piece of software, in four different jobs for Trisquel 11/12 and Ubuntu 22.04/24.04. I am in the process of learning Codeberg/Forgejo CI/CD, so I am still using GitLab CI/CD here, but the concepts should be the same regardless of platform. Let’s start by defining a job skeleton:
.guile-gnutls: &guile-gnutls
before_script:
- /root/.config/guix/current/bin/guix-daemon --version
- env LC_ALL=C.UTF-8 /root/.config/guix/current/bin/guix-daemon --build-users-group=guixbuild $GUIX_DAEMON_ARGS &
- GUIX_PROFILE=/root/.config/guix/current; . "$GUIX_PROFILE/etc/profile"
- type guix
- guix --version
- guix describe
- time guix install --verbosity=0 wget gcc-toolchain autoconf automake libtool gnutls guile pkg-config
- time apt-get update
- time apt-get install -y make git texinfo
- GUIX_PROFILE="/root/.guix-profile"; . "$GUIX_PROFILE/etc/profile"
script:
- git clone https://codeberg.org/guile-gnutls/guile-gnutls.git
- cd guile-gnutls
- git checkout v5.0.1
- ./bootstrap
- ./configure
- make V=1
- make V=1 check VERBOSE=t
- make V=1 dist
after_script:
- mkdir -pv out/$CI_JOB_NAME_SLUG/src
- mv -v guile-gnutls/*-src.tar.* out/$CI_JOB_NAME_SLUG/src/
- mv -v guile-gnutls/*.tar.* out/$CI_JOB_NAME_SLUG/
artifacts:
paths:
- out/**
This installs some packages, clones guile-gnutls (it could be any project, that’s just an example), build it and return tarball artifacts. The artifacts are the git-archive and make dist tarballs.
Let’s instantiate the skeleton into four jobs, running the Trisquel 11/12 jobs on amd64 and the Ubuntu 22.04/24.04 jobs on arm64 for fun.
guile-gnutls-trisquel11-amd64:
tags: [ saas-linux-medium-amd64 ]
image: registry.gitlab.com/debdistutils/guix/guix-on-dpkg:trisquel11-guix
extends: .guile-gnutls
guile-gnutls-ubuntu22.04-arm64:
tags: [ saas-linux-medium-arm64 ]
image: registry.gitlab.com/debdistutils/guix/guix-on-dpkg:ubuntu22.04-guix
extends: .guile-gnutls
guile-gnutls-trisquel12-amd64:
tags: [ saas-linux-medium-amd64 ]
image: registry.gitlab.com/debdistutils/guix/guix-on-dpkg:trisquel12-guix
extends: .guile-gnutls
guile-gnutls-ubuntu24.04-arm64:
tags: [ saas-linux-medium-arm64 ]
image: registry.gitlab.com/debdistutils/guix/guix-on-dpkg:ubuntu24.04-guix
extends: .guile-gnutls
Running this pipeline will result in artifacts that you want to confirm for reproducibility. Let’s add a pipeline job to do the comparison:
guile-gnutls-compare:
image: alpine:latest
needs: [ guile-gnutls-trisquel11-amd64,
guile-gnutls-trisquel12-amd64,
guile-gnutls-ubuntu22.04-arm64,
guile-gnutls-ubuntu24.04-arm64 ]
script:
- cd out
- sha256sum */*.tar.* */*/*.tar.* | sort | grep -- -src.tar.
- sha256sum */*.tar.* */*/*.tar.* | sort | grep -v -- -src.tar.
- sha256sum */*.tar.* */*/*.tar.* | sort | uniq -c -w64 | sort -rn
- sha256sum */*.tar.* */*/*.tar.* | grep -- -src.tar. | sort | uniq -c -w64 | grep -v '^ 1 '
- sha256sum */*.tar.* */*/*.tar.* | grep -v -- -src.tar. | sort | uniq -c -w64 | grep -v '^ 1 '
# Confirm modern git-archive tarball reproducibility
- cmp guile-gnutls-trisquel12-amd64/src/*.tar.gz guile-gnutls-ubuntu24-04-arm64/src/*.tar.gz
# Confirm old git-archive (export-subst but long git describe) tarball reproducibility
- cmp guile-gnutls-trisquel11-amd64/src/*.tar.gz guile-gnutls-ubuntu22-04-arm64/src/*.tar.gz
# Confirm 'make dist' generated tarball reproducibility
- cmp guile-gnutls-trisquel11-amd64/*.tar.gz guile-gnutls-ubuntu22-04-arm64/*.tar.gz
- cmp guile-gnutls-trisquel12-amd64/*.tar.gz guile-gnutls-ubuntu24-04-arm64/*.tar.gz
artifacts:
when: always
paths:
- ./out/**
Look how beautiful, almost like ASCII art! The commands print SHA256 checksums of the artifacts, sorted in a couple of ways, and then proceeds to compare relevant artifacts. What would the output of such a run be, you may wonder? You can look for yourself in the guix-on-dpkg pipeline but here is the gist of it:
$ cd out
$ sha256sum */*.tar.* */*/*.tar.* | sort | grep -- -src.tar.
79bc24143ba083819b36822eacb8f9e15a15a543e1257c53d30204e9ffec7aca guile-gnutls-trisquel11-amd64/src/guile-gnutls-v5.0.1-src.tar.gz
79bc24143ba083819b36822eacb8f9e15a15a543e1257c53d30204e9ffec7aca guile-gnutls-ubuntu22-04-arm64/src/guile-gnutls-v5.0.1-src.tar.gz
b190047cee068f6b22a5e8d49ca49a2425ad4593901b9ac8940f8842ba7f164f guile-gnutls-trisquel12-amd64/src/guile-gnutls-v5.0.1-src.tar.gz
b190047cee068f6b22a5e8d49ca49a2425ad4593901b9ac8940f8842ba7f164f guile-gnutls-ubuntu24-04-arm64/src/guile-gnutls-v5.0.1-src.tar.gz
$ sha256sum */*.tar.* */*/*.tar.* | sort | grep -v -- -src.tar.
1e8d107ad534b85f30e432d5c98bf599aab5d8db5f996c2530aabe91f203018a guile-gnutls-trisquel11-amd64/guile-gnutls-5.0.1.tar.gz
1e8d107ad534b85f30e432d5c98bf599aab5d8db5f996c2530aabe91f203018a guile-gnutls-ubuntu22-04-arm64/guile-gnutls-5.0.1.tar.gz
bc2df2d868f141bca5f3625aa146aa0f24871f6dcf0b48ff497eba3bb5219b84 guile-gnutls-trisquel12-amd64/guile-gnutls-5.0.1.tar.gz
bc2df2d868f141bca5f3625aa146aa0f24871f6dcf0b48ff497eba3bb5219b84 guile-gnutls-ubuntu24-04-arm64/guile-gnutls-5.0.1.tar.gz
$ sha256sum */*.tar.* */*/*.tar.* | sort | uniq -c -w64 | sort -rn
2 bc2df2d868f141bca5f3625aa146aa0f24871f6dcf0b48ff497eba3bb5219b84 guile-gnutls-trisquel12-amd64/guile-gnutls-5.0.1.tar.gz
2 b190047cee068f6b22a5e8d49ca49a2425ad4593901b9ac8940f8842ba7f164f guile-gnutls-trisquel12-amd64/src/guile-gnutls-v5.0.1-src.tar.gz
2 79bc24143ba083819b36822eacb8f9e15a15a543e1257c53d30204e9ffec7aca guile-gnutls-trisquel11-amd64/src/guile-gnutls-v5.0.1-src.tar.gz
2 1e8d107ad534b85f30e432d5c98bf599aab5d8db5f996c2530aabe91f203018a guile-gnutls-trisquel11-amd64/guile-gnutls-5.0.1.tar.gz
$ sha256sum */*.tar.* */*/*.tar.* | grep -- -src.tar. | sort | uniq -c -w64 | grep -v '^ 1 '
2 79bc24143ba083819b36822eacb8f9e15a15a543e1257c53d30204e9ffec7aca guile-gnutls-trisquel11-amd64/src/guile-gnutls-v5.0.1-src.tar.gz
2 b190047cee068f6b22a5e8d49ca49a2425ad4593901b9ac8940f8842ba7f164f guile-gnutls-trisquel12-amd64/src/guile-gnutls-v5.0.1-src.tar.gz
$ sha256sum */*.tar.* */*/*.tar.* | grep -v -- -src.tar. | sort | uniq -c -w64 | grep -v '^ 1 '
2 1e8d107ad534b85f30e432d5c98bf599aab5d8db5f996c2530aabe91f203018a guile-gnutls-trisquel11-amd64/guile-gnutls-5.0.1.tar.gz
2 bc2df2d868f141bca5f3625aa146aa0f24871f6dcf0b48ff497eba3bb5219b84 guile-gnutls-trisquel12-amd64/guile-gnutls-5.0.1.tar.gz
$ cmp guile-gnutls-trisquel12-amd64/src/*.tar.gz guile-gnutls-ubuntu24-04-arm64/src/*.tar.gz
$ cmp guile-gnutls-trisquel11-amd64/src/*.tar.gz guile-gnutls-ubuntu22-04-arm64/src/*.tar.gz
$ cmp guile-gnutls-trisquel11-amd64/*.tar.gz guile-gnutls-ubuntu22-04-arm64/*.tar.gz
$ cmp guile-gnutls-trisquel12-amd64/*.tar.gz guile-gnutls-ubuntu24-04-arm64/*.tar.gz
That’s it for today, but stay tuned for more updates on using Guix in containers, and remember; Happy Hacking!
AI Chatbot Companies Should Protect Your Conversations From Bulk Surveillance [Deeplinks]
EFF intern Alexandra Halbeck contributed to this blog
When people talk to a chatbot, they often reveal highly personal information they wouldn’t share with anyone else. Chat logs are digital repositories of our most sensitive and revealing information. They are also tempting targets for law enforcement, to which the U.S. Constitution gives only one answer: get a warrant.
AI companies have a responsibility to their users to make sure the warrant requirement is strictly followed, to resist unlawful bulk surveillance requests, and to be transparent with their users about the number of government requests they receive.
Tens of millions of people use chatbots to brainstorm, test ideas, and explore questions they might never post publicly or even admit to another person. Whether advisable or not, people also turn to consumer AI companies for medical information, financial advice, and even dating tips. These conversations reveal people’s most sensitive information.
Without privacy protections, users would be chilled in their use of AI systems.
Consider the sensitivity of the following prompts: “how to
get abortion pills,” “how to protect myself at a
protest,” or “how to escape an abusive
relationship.” These exchanges can reveal everything from
health status to political beliefs to private grief. A single chat
thread can expose the kind of intimate detail once locked away in a
handwritten diary.
Without privacy protections, users would be chilled in their use of AI systems for learning, expression, and seeking help.
Whether you draft an email, edit an online document, or ask a question to a chatbot, you have a reasonable expectation of privacy in that information. Chatbots may be a new technology, but the constitutional principle is old and clear. Before the government can rifle through your private thoughts stored on digital platforms, it must do what it has always been required to do: get a warrant.
For over a century, the Fourth Amendment has protected the content of private communications—such as letters, emails, and search engine prompts—from unreasonable government searches. AI prompts require the same constitutional protection.
This protection is not aspirational—it already exists. The Fourth Amendment draws a bright line around private communications: the government must show probable cause and obtain a particularized warrant before compelling a company to turn over your data. Companies like OpenAI acknowledge this warrant requirement explicitly, while others like Anthropic could stand to be more precise.
AI companies that create chatbots should commit to having your back and resisting unlawful bulk surveillance orders. A valid search warrant requires law enforcement to provide a judge with probable cause and to particularly describe the thing to be searched. This means that bulk surveillance orders often fail that test.
What do these overbroad orders look like? In the past decade or so, police have often sought “reverse” search warrants for user information held by technology companies. Rather than searching for one particular individual, police have demanded that companies rummage through their giant databases of personal data to help develop investigative leads. This has included “tower dumps” or “geofence warrants,” in which police order a company to search all users’ location data to identify anyone that’s been near a particular place at a particular time. It has also included “keyword” warrants, which seek to identify any person who typed a particular phrase into a search engine. This could include a chilling keyword search for a well-known politician’s name or busy street, or a geofence warrant near a protest or church.
Courts are beginning to rule that these broad demands are unconstitutional. And after years of complying, Google has finally made it technically difficult—if not impossible—to provide mass location data in response to a geofence warrant.
This is an old story: if a company stores a lot of data about its users, law enforcement (and private litigants) will eventually seek it out. Law enforcement is already demanding user data from AI chatbot companies, and it will only increase. These companies must be prepared for this onslaught, and they must commit to fighting to protect their users.
In addition to minimizing the amount of data accessible to law enforcement, they can start with three promises to their users. These aren’t radical ideas. They are basic transparency and accountability standards to preserve user trust and to ensure constitutional rights keep pace with technology:
FreeBSD 15.0 released with pkgbase [OSnews]
The FreeBSD team has released FreeBSD 15.0, and with it come several major changes, one of which you will surely want to know more about if you’re a FreeBSD user. Since this change will eventually drastically change the way you use FreeBSD, we should get right into it.
Up until now, a full, system-wide update for FreeBSD – as
in, updating both the base operating system as well as any packages
you have installed on top of it – would use two separate
tools: freebsd-update and the pkg package
manager. You used the former to update the base operating system,
which was installed as file sets, and the latter to update
everything you had installed on top of it in the form of
packages.
With FreeBSD 15.0, this is starting to change. Instead of using
two separate tools, in 15.0 you can opt to deprecate
freebsd-update and file sets, and rely entirely on
pkg for updating both the base operating system as
well as any packages you have installed, because with this new
method, the base system moves from file sets to packages. When
installing FreeBSD 15.0, the installer will ask you to choose
between the old method, or the new pkg-only
method.
Packages (pkgbase / New Method): The base system is installed as a set of packages from the “FreeBSD-base” repository. Systems installed this way are managed entirely using the pkg(8) tool. This method is used by default for all VM images and images published in public clouds. In FreeBSD 15.0, pkgbase is offered as a technology preview, but it is expected to become the standard method for managing base system installations and upgrades in future releases.
↫ FreeBSD 15.0 release announcement
As the release announcement notes, the net method is optional in
FreeBSD 15 and will remain optional during the entire 15.x release
cycle, but the plan is to deprecate freebsd-update and
file sets entirely in FreeBSD 16.0. If you have an existing
installation you wish to convert to using pkgbase, there’s a
tool called pkgbasify to
do just that. It’s sponsored by the FreeBSD Foundation, so
it’s not some random script.
Of course, there’s way more in this release than just pkgbase. Of note is that the 32bit platforms i386, armv6, and 32-bit powerpc have been retired, but of course, 32bit code will continue to run on their 64bit counterparts. FreeBSD 15.0 also brings a native inotify implementation, a ton of improvements to the audio components, improved Intel Wi-Fi drivers, and so, so much more.
EFF Tells Patent Office: Don’t Cut the Public Out of Patent Review [Deeplinks]
EFF has submitted its formal comment to the U.S. Patent and Trademark Office (USPTO) opposing a set of proposed rules that would sharply restrict the public’s ability to challenge wrongly granted patents. These rules would make inter partes review (IPR)—the main tool Congress created to fix improperly granted patents—unavailable in most of the situations where it’s needed most.
If adopted, they would give patent trolls exactly what they want: a way to keep questionable patents alive and out of reach.
If you haven’t commented yet, there’s still time. The deadline is today, December 2.
Tell USPTO: The public has a right to challenge bad patents
Sample comment:
I oppose the USPTO’s proposed rule changes for inter partes review (IPR), Docket No. PTO-P-2025-0025. The IPR process must remain open and fair. Patent challenges should be decided on their merits, not shut out because of legal activity elsewhere. These rules would make it nearly impossible for the public to challenge bad patents, and that will harm innovation and everyday technology users.
Since USPTO Director John Squires was sworn into office just over two months ago, we’ve seen the Patent Office take an increasingly aggressive stance against IPR petitions. In a series of director-level decisions, the USPTO has denied patent challengers the chance to be heard—sometimes dozens of them at a time—without explanation or reasoning.
That reality makes this rulemaking even more troubling. The USPTO is already denying virtually every new petition challenging patents. These proposed rules would cement that closed-door approach and make it harder for challengers to be heard.
Our comment lays out how these rules would make patent challenges nearly impossible to pursue for small businesses, nonprofits, software developers, and everyday users of technology.
Here are the core problems we raised:
First, no one should have to give up their court defenses just to use IPR. The USPTO proposal would force defendants to choose: either use IPR and risk losing their legal defenses, or keep their defenses and lose IPR.
That’s not a real choice. Anyone being sued or threatened for patent infringement needs access to every legitimate defense. Patent litigation is devastatingly expensive, and forcing people to surrender core rights in federal court is unreasonable and unlawful.
Second, one early case should not make a bad patent immune forever. Under the proposed rules, if a patent survives any earlier validity fight—no matter how rushed, incomplete, or poorly reasoned—everyone else could be barred from filing an IPR later.
New prior art? Doesn’t matter. Better evidence? Doesn’t matter.
Congress never intended IPR to be a one-shot shield for bad patents.
Third, patent owners could manipulate timing to shut down petitions. The rules would let the USPTO deny IPRs simply because a district court case might move faster.
Patent trolls already game the system by filing in courts with rapid schedules. This rule would reward that behavior. It allows patent owners—not facts, not law, not the merits—to determine whether an IPR can proceed.
IPR isn't supposed to be a race to the courthouse. It’s supposed to be a neutral review of whether the Patent Office made a mistake.
IPR isn’t perfect, and it doesn’t apply to every patent. But compared to multimillion-dollar federal litigation, it’s one of the only viable tools available to small companies, developers, and the public. It needs to remain open.
When an overbroad patent gets waved at hundreds or thousands of people—podcasters, app developers, small retailers—IPR is often the only mechanism that can actually fix the underlying problem: the patent itself. These rules would take that option away.
If you haven’t submitted a comment yet, now is the time. The more people speak up, the harder it becomes for these changes to slip through.
Comments don’t need to be long or technical. A few clear sentences in your own words are enough. We’ve written a short sample comment below. It’s even more powerful if you add a sentence or two describing your own experience. If you mention EFF in your comment, it helps our collective impact.
Sample comment:
I oppose the USPTO’s proposed rule changes for inter partes review (IPR), Docket No. PTO-P-2025-0025. The IPR process must remain open and fair. Patent challenges should be decided on their merits, not shut out because of legal activity elsewhere. These rules would make it nearly impossible for the public to challenge bad patents, and that will harm innovation and everyday technology users.
Further reading:
On Saturday I reported a problem with WordPress feeds that created a problem for the software I was working on. It's Tuesday now, and it's fixed. This really feels good. Thanks Jeremy! The WordPress community is special. Never seen a big product like WordPress respond so quickly.
Dirk Eddelbuettel: duckdb-mlpack 0.0.5: Added kmeans, version helpers, documentation [Planet Debian]

A new release of the still-recent duckdb extension for mlpack, the C++ header-only library for machine learning, was merged into the duckdb community extensions repo today, and has been updated at its duckdb ‘mlpack’ extension page.
This release 0.0.5 adds one new method: kmeans clustering. We
also added two version accessors for both mlpack and armadillo. We found during the work on
random forests (added in 0.0.4) that the multithreaded random
number generation was not quite right in the respective upstream
codes. This has by now been corrected in armadillo 15.2.2 as well as the trunk
version of mlpack so if you build
with those, and set a seed, then your forests and classification
will be stable across reruns. We added a second state variable
mlpack_silent that can be used to suppress even the
minimal prediction quality summary some methods show, and expanded
the documentation.
For more details, see the repo for code, issues and more, and the extension page for more about this duckdb community extension.
This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. If you like this or other open-source work I do, you can sponsor me at GitHub.
Conservatives Zeroed In on Tumwater in Washington State’s Fight Over Trans Athletes [The Stranger]
“When a school board tells students they don’t deserve inclusion, it’s heartbreaking.” by Nathalie Graham
It’s been a long year for Tumwater, a politically purple town with 24,852 people and three craft breweries that’s become a pawn in a political chess match over transgender rights.
And the whole year, it’s never gotten far from the paint. It began with a high school basketball game. It was February, and the girls’ JV Tumwater High School Thunderbirds basketball team was playing the Shelton High School Highclimbers.
Fifteen-year-old Thunderbird Frances Staudt was warming up when she noticed a girl on the other team was trans. She later told KOMO that she feared the girl would injure her during the game, and complained. But in Washington, trans girls and boys have played with, and against, cis girls and boys for nearly two decades. The trans girl could play, no matter how much Frances complained. She sat out in protest. So did one of her teammates. They still won, 33-16.
Frances said the situation “put her on the spot in the whole gym.” She said she looked over at the trans girl and said, “You are a man.” That was her First Amendment right, she later told KOMO.
The President and Republican Party were behind her. The day before, Trump had signed an executive order banning trans girls and women from playing sports against cis girls and women. Not that there are very many, or that there’s credible scientific evidence proving athletic advantage. But Washington State and the Washington Interscholastic Activities Association (WIAA), the state’s governing body for high school sports, were not on Staudt’s side. The Washington Law Against Discrimination protects transgender people in places of public accommodation, which include school athletic programs, and the WIAA was the first state athletic association in the nation to adopt a trans-inclusive policy.
The WIAA slapped Frances with an ethics violation for calling her opponent a man. This was a catalyst.
First came a civil rights complaint filed on Staudt’s behalf by a right-wing nonprofit called the Foundation Against Intolerance and Racism, or FAIR. Cofounded by Bari Weiss, the “anti-woke” opinion columnist now running CBS news, FAIR’s purpose is to dismantle diversity efforts, like when it sued the Washington State Housing Finance Commission over a homebuyer assistance program for nonwhite people, or when it sued Arkansas for reserving one board seat on a medical board for someone “of a minority race.” The complaint led the Department of Education to investigate the Tumwater School District over alleged Title IX violations. Last April, the Biden Administration expanded Title IX, a 1972 law against sex discrimination in education, to cover anti-gay and anti-trans discrimination. The legal rationale is simple: Discrimination against a gay or trans person is a perception that someone is not performing their sex or gender the right way. Trump promised to do away with the change during the campaign, and a federal judge struck it down in early 2025.
Three weeks later, on February 27, the Tumwater School Board held a vote. The WIAA was considering rolling back its trans athlete policy. Back in December, 14 out of 294 Washington school districts had voted to amend these WIAA rules, but not in Tumwater, where the board had not taken up the vote. But then the executive order and the basketball game happened. A resolution to support those amendments passed three to one.
School board member Melissa Beard cast the lone vote against the measure. Nationwide, conservatives have created panic over trans people to mobilize their base, get elected to public office, and warp curriculum. Republican lawmakers in 28 states have effectively banned trans kids from playing sports, even in places where there had never been issues, or even evidence that trans kids were competing.
Conservatives are attempting to use trans kids as a political wedge here, too. The Let’s Go Washington’s ballot initiative campaign targets queer and trans kids under the banners of protecting “parents’ rights” and “fairness” in girls’ sports. Extremist Moms for Liberty candidates have won several school board elections statewide. Beard’s lonely vote was evidence that not all elected officials would speak out against bigoted policy.
Months later, she had a new political challenger. It was Aimee Staudt, Frances’s mother.
Tumwater is situated in one of the only legislative districts in Thurston County with Democratic representatives—Rep. Beth Doglio and Rep. Lisa Parshley—but like its blue neighbors Lacey and Olympia, the conservative politics of nearby rural towns often encroach on the small city.
Those conservative politics prompted the vote to change WIAA’s trans athlete policy. When the vote came, Melissa Beard sat on the dais and reread what she was going to say. “I was like, ‘Yeah, this is it. Tumwater may not be ready for this. You may lose the election,’” Beard told herself. “And I was okay with that, because I was willing to go down on this issue. It was that important that people knew where I stood.”
Every seat in the room was taken, a few by people wearing “Protect Trans Kids” shirts. Standing in the back, teens with dyed hair held a trans flag.
Even though the room was packed with people who agreed with her, Beard knew her vote could cost her the election this November.
But she knew she was right.
Beard says that when board members are sworn in, they take an oath to “uphold the constitution and the laws of the United States and the state of Washington.” Trans people are a protected class in Washington. Supporting the measure would go against state antidiscrimination law and violate her oath, she says.
She said exactly that from the dais to the crowded room. “I’m concerned that this resolution communicates that we do not see these students as an equal part of our community,” Beard said. The crowd cheered.
After she said her piece, only one of the four other school board members spoke. Jill Adams, who abstained, worried out loud about Trump’s executive order. “Federal laws have supremacy over state and local items,” Adams said, saying she was caught “between a boulder and a hard surface” with this vote.
A woman in the crowd shouted, “Executive orders are not law!”
“We’re not going to do this,” Beard said. “No.”
She moved on to hear comments from the rest of the board.
Casey Taylor, Ty Kuehl, and Darby Kaikkonen said nothing. Then they voted yes.
“They were all very upset. They were all very frustrated with me,” Beard says. “I don’t know what they thought. I don’t know why they were frustrated.” She paused. “I mean, I lost the vote.”
Beard likes finding common ground. She cut her teeth as an analyst in the Washington State House of Representatives during a deadlock between Republicans and Democrats 25 years ago. She even found compromises during COVID on this board, when other members bristled at the state mask mandates and school closures she supported.
“For whatever reason, they did not want to have that conversation about this particular resolution,” Beard says.
When asked for comment, Kaikkonen sent links to comments she made at a different school board meeting two weeks after the initial vote. Kaikkonen started off by criticising the February 27 meeting for not following the board’s rules of order—criticism of Beard and how she ran the meeting. Having a crowd present that did not support the policy “created a situation” where Kaikkonen felt she could not “express my point of view… [and] be listened to in an open, fair, and impartial manner.”
“This issue is impossible,” Kaikkonen said about trans kids playing sports. “[It’s] a stalemate, a game of tic-tac-toe in which there’s no winner.” She supports the transgender community, Kaikkonen says, but she also supports women. By way of explanation, Kaikkon told a story.
“I started swimming competitively when I was 8 years old,” she said. She detailed her whole swimming career, at one point holding up her collegiate All-American award for breast stroke.
A week later, Kaikkonen was fired from her job at the Office of the Superintendent of Public Instruction. Superintendent of Public Education and Kaikkonen’s boss at OSPI Chris Reykdal has been vocally supportive of trans kids competing in school sports. In a lawsuit, Kaikkonen alleged her firing was retaliation for her vote. The Office says it filed a motion to dismiss the case because Kaikkonen’s “legal claims all lacked legal merit.” The US District Court in Tacoma dismissed the case in early November.
The other board members did not respond to The Stranger’s request for comment.
Two months after the vote, the rest of the board asked Beard to resign as board president, and she did. Beard explained she’d planned to rotate the presidency throughout the year, so this was a good opportunity to do so. But it seems as if she just wanted the issue to go away so she could keep working with her fellow board members.
“I will always put organization over self,” Beard says. “So rather than make them extend any of this pain, they asked me to resign, and I said, ‘Fine, I’ll just resign.’ Can we just get past this?”
Aimee Staudt saw an opportunity. Four days after Beard filed to run for a third term, Staudt filed to run against her. Beard didn’t think it was personal. They lived in the same district. She assumed Staudt would have run anyway.
As an experienced campaigner, Beard normally reaches out to her opponents before the race heats up. But she didn’t do that with Staudt. (“I just didn’t get the sense that she was in it for what’s best for the district,” Beard says.)
Staudt did not respond to our request for an interview.
She also didn’t run much of a campaign. She raised just $1,063. Staudt didn’t spend any money on mailers herself, but was included on a $5,100 mailer campaign from Sarah Overbay, a candidate for the District 1 school board position. Those mailers praised Overbay, Staudt, and other more conservative candidates. On the back, the mailers went negative on their opponents, claiming Beard and the other progressive school board candidates running only cared about “gender politics,” which ironically seemed to be Staudt’s sole issue.
That became clear during a candidate forum hosted by the League of Women Voters, the only forum she attended. Staudt—who didn’t even have a campaign website—said she was running to “use common sense and put education first again.” Schools were wasting too much time on political and social agendas and not enough time on teaching students how to read, she said. She called for transparency, to give families a choice and to make sure schools partnered with parents instead of trying to replace them. Her talking points emphasizing a need for parental power and control are textbook for right-wing candidates.
Beard worried about her chances of beating Staudt. She stressed over the possibility of her campaign becoming a national talking point. And for good reason.
In the last month before the November election, anti-trans politics flared up in Tumwater once more.
A sore loser, hedge fund manager Brian Heywood is again funding a signature-gathering campaign for his anti-trans, anti-LGBTQ, and anti-public-education ballot measures.
Heywood’s campaign, Let’s Go Washington (LGW), is gunning for two initiatives on next year’s November ballot.
The first would reinstate the parents’ bill of rights that already passed as an initiative last year. But, much to Heywood & co.’s chagrin, the Legislature mostly nullified it during this year’s session. So, LGW is trying to volley it back.
“We don’t co-parent with the government,” Heywood said in a statement first reported by the Washington State Standard. “No government employee can care about or love your child like you do.”
What Heywood really wants is to do away with student privacy and control public education. The Parents Bill of Rights initiative allows parents to “examine” curriculum decisions and school policies, something they already had the right to do, while granting access to their child’s mental health and counseling records. The rule could force teachers and guidance counselors to out LGBTQ kids to their parents, which could be dangerous for those living in unaccepting homes. In an emailed statement, LGW wrote that the initiative would strengthen “communications between parents and school.”
Heywood’s second initiative would ban transgender athletes from playing girls’ sports. The initiative would require athletes to have a doctor certify their sex before they can participate in girls sports. This could require a genital examination.
As Seattle Police Department detective Beth Wareing said at a WA Families for Freedom press conference in November—a campaign to kill Heywood’s initiatives—genital examinations “would increase the risk of sexual abuse for girls participating in sports.”
The LGW campaign seems unbothered by the criticism. Campaign spokesperson Hallie Herzberg called the risk of sexual abuse a lie. “The opposition is proving again how little they care about females in sports,” she said. And the campaign is asking people to literally rally around them inside schools. It’s held five so far, with eight more planned between now and January 2, when LGW plans to turn in its signatures to the Secretary of State’s Office.
In late September, days before she jetted off to Washington, DC, for Trump’s antifa roundtable, right-wing commentator Brandi Kruse promoted LGW’s signature-gathering event at Tumwater Middle School. Kruse has no official or financial association with LGW, but volunteered to speak at the event, a “Super Signer Kick-Off” for its anti-trans initiatives.
Board member Beard thought holding the event in Tumwater was bizarre and opportunistic. Liza Rankin, Seattle Public Schools board director and member of the Washington State School Directors Association, also thought it intentional and “a little bit weird.”
Holding the rallies at schools can show voters that the initiatives are “about children,” so they can say, “If you love children, you’ll come to this thing,” Rankin explains. But it could also be setting up a confrontation.
The Tumwater rally was planned for October 4, a month ahead of the Beard vs. Staudt race. Kruse spent the days leading up to the event drumming up attention for the rally. When The Stranger asked why, she told us “radical gender ideology belongs in the dustbin of American politics.”
The week before the planned rally, her tweets turned angry. Tumwater School District had denied the event permit.
“In Washington state, schools will grant facility use permits for grown men in panties to dance for little children. But want to hold an event to support parental rights? Sorry, no can do!” Kruse tweeted, citing a drag event at a school.
Kruse tweeted that the school district “caved to left-wing activists.” Kruse said it was the only LGW event denied a permit.
Schools are sensitive places for politicking. State law doesn’t allow any campaigning involving public resources. Public schools count as a public resource. However, because the LGW initiatives aren’t yet on the ballot, it creates a gray area.
“If they aren’t allowed to do it, they can throw a tantrum,” Rankin says. “What they want is to say they’re being politically persecuted. They want the narrative that ‘We’re just standing up for parents… and it’s the liberal lawmakers who are being mean to us.’”
LGW denies that. “We aren’t looking for a freedom of speech fight,” Herzberg said. The public schools offer a space for people to “turn in their petitions without being harassed, attacked, or stolen from,” Herzberg said.
The reasons were more mundane, according to records obtained by The Stranger. LGW’s campaign submitted a permit application three days before the planned event. Tumwater School District requires that applications for permitted events be submitted seven days prior to the event.
“Due to the short timeline, the request wasn’t approved,” a spokesperson with the district said. “It’s our understanding that they met outside of the fencing at Tumwater Middle School on the date they requested use of the building.”
At the event, Staudt’s daughter, Frances, spoke about her experience and about the lack of fairness in girl’s sports. Kruse amplified it online. From the internet attention, the issue seemed big, but only a few dozen people had shown up to the rally.
That could explain the election results in Tumwater.
Beard defeated Staudt with 61 percent of the vote. Beard thinks voters valued her experience, and her record, more than this one issue.
They also valued progressive Julie Watts over Sarah Overbay, the conservative who sent out those negative mailers, in a race for an open seat. On her campaign website, Watts wrote, “Our district is caught in unnecessary political fights—like banning transgender athletes—instead of focusing on what matters. These aren’t abstract debates; they’re about real kids who just want to belong.
“When a school board tells students they don’t deserve inclusion, it’s heartbreaking,” the website read.
But Tumwater is still purple. Incumbent Kuehl, who voted to change WIAA’s policy, and newcomer Rob Warner, who said at a forum that he would not rescind the policy, made it through.
That split feels apt for Tumwater, Beard says.
Got problems? Yes, you do! by Dan Savage 1. Is Donald Trump a gay man? I can’t think of anything that screams “closeted gay” louder than building a golden ballroom. Donald Trump has been married to three different women (two of whom were immigrants), he’s been credibly accused of sexual harassment and assault by dozens of women, and he was found liable — by a jury of his peers — for sexually abusing E. Jean Carroll. I don’t care if his golden ballroom has a line of gilded slings, Goldschläger in the lube dispensers, and waiters running around in gold lamé Rocky shorts, that man is not one of mine. 2. You’ve talked about how urine is sterile but also switched to calling it “mostly” sterile. Is it safe to use in a neti pot? Sterile is binary — something either is or isn’t sterile (sterile is not a spectrum!) — so it wouldn’t be accurate to describe…
[ Read more ]
Slog AM: Pete Hegseth Kills Them All, Starbucks Pays $38.9 Million Labor Settlement, AI Will Deny Washington Medicaid Claims Next Year [The Stranger]
The Stranger's morning news roundup by Vivian McCall
“Kill Them All”: That was the order Defense Secretary Pete Hegseth gave during the first US strike on a boat in the Caribbean, two sources with direct knowledge of the operation told the Washington Post. To comply with that order, the Special Operations commander ordered a second strike to kill the two survivors.
The White House is Trying to Save Hegseth’s Skin. Press Secretary Karoline Leavitt said Hegseth authorized Admiral Mitch Bradley to carry out the strikes, but did not give an order to “kill everybody.” When a journalist asked Leavitt to explain why the strike wasn’t a war crime, she said it was “conducted in international waters and in accordance with the law of armed conflict,” which is not an explanation. The Trump Administration has provided no evidence that backs up the allegations behind these two killings, or the 81 other killings in the Caribbean and Pacific.
While killing these people and threatening war over Nicolás Maduro’s fake cocaine empire in Venezuela, President Donald Trump pardoned former Honduran President Juan Orlando Hernandez, who was serving a 45-year sentence for weapons charges and literally distributing cocaine. He was “at the center of one of the largest and most violent drug-trafficking conspiracies in the world,” said the Department of Justice in a statement after his conviction last year.
War … and Peace? US envoys are meeting with Russian President Vladimir Putin this morning to discuss a plan to end the country’s war on Ukraine. Steve Witkoff, the Trump diplomat dealing with Putin, has already visited Russia six times since January. You can check for updates here and here.
Clankers: If you need another excuse to go Sarah Connor mode, starting January 1, Washington will be one of six states participating in a new federal AI-assisted Medicaid program called “Wasteful and Inappropriate Service Reduction.” Until now, our state’s Medicaid recipients didn’t need prior authorization (permission) for most services. But the magic of Artificial Intelligence will help determine whether or not they qualify for services like pain management, cervical fusion, arthroscopic knee surgery, and impotence treatment. Here’s the full list of procedures.
To top it off: The evil feds have set up a twisted profit incentive. These AI companies will be “compensated based on a share of averted expenditures.” In other words, they’ll get a cut. The more claims the companies deny, the more money they get.
Fixes: Light Rail stations from Capitol Hill to Northgate will close early for late night work this week. If you’re planning to catch a ride there past 11 p.m. Tuesday to Thursday, you’ll be catching a bus instead, and adding 45 minutes to your travel time. Sound Transit’s new plan for scheduled maintenance a few nights a month should reduce unexpected shutdowns.
Charity: Somebody pledged an anonymous $50 million donation to University of Washington’s Medical Laboratory Science Program, enough to completely cover seniors’ in-state tuition for decades, and expand the program from 70 to 100 students by 2035. These seniors need the financial help. The time spent on clinical rotations and studying for their national board exam makes a part-time job nearly impossible.
Weather: It’ll be cloudy with a high of 46. Tonight, expect patchy fog into Wednesday morning.
Worse Weather: In the last week, the Midwest has seen three snowy winter storms (on Saturday, Chicago saw its snowiest ever November day at 8.4 inches). This morning, a storm that could go bomb cyclone mode will shimmy its way up the coast of New England. Boston, New York and Philadelphia are expected to dodge heavy snowfall.
Finding Out: Starbucks is paying out a $38.9 million settlement after breaking New York City labor law half a million times since 2021. More than 15,000 workers will receive restitution payments for their unpredictable schedules and randomly cut hours.
It was World AIDS Day yesterday. For the first time since its creation in 1988, the US didn’t participate. The administration says it’s “modernizing” its approach to infectious disease. "Is this a symbolic act? Yes, it is and it symbolizes something that is actually devastating and chaotic," Mitchell Warren, the executive director of AVAC, a global HIV prevention organization based in the U.S, told NPR. As part of his “America First” agenda, Trump has slashed global health funding, disrupting HIV/AIDS care for people in countries like Zambia, the Democratic Republic of Congo, Ethiopia and Kenya.
Dear Whamageddon participants, I don’t respect you.
Charlie Brown Christmas enjoyers, I do respect you. Here you go.
Microspeak: Big rocks [The Old New Thing]
Recall that Microspeak is not merely for jargon exclusive to Microsoft, but it’s jargon that you need to know to survive at Microsoft.
The term big rocks was introduced by Stephen Covey in the book The Seven Habits of Highly Effective People, which I suspect is very popular among senior executives, because senior executives aspire to become highly effective people.
In its original formulation, the concept of big rocks was used as a metaphor for time management: the metaphor is that you have a jar with large rocks inside it, stacked up to the brim. Is the jar full? But you can pour pebbles and sand into the jar to fill the gaps between the big rocks. The lesson is that you were able to fit everything into the jar if you put the big rocks in first. If you had started with the pebbles and sand, then there wouldn’t be space for the rocks. In terms of time management, the lesson is to deal with the biggest, most important things (the big rocks) first. If you spend time on the smaller things, you will find that there’s no room for the big things.
However, that’s not always what it means at Microsoft.
As I look over various types of documents, the meaning of big rocks as top priorities tends to predominate in senior executive documents.
These are the Big Rock priorities that have been determined by senior leadership.
And I was fortunate to find a document that opened with a definition.
The Nosebleed Big Rocks are the top business critical programs in our division.
However, as you go lower in the hierarchy and interact with people who do not keep a copy of The Seven Habits of Highly Effective People on their nightstand, the term big rocks tends to be used to mean the big problems that need to be solved in order for the project to succeed.
Again, I was able to find a document that included a definition.
Big Rocks: A list of technical challenges that we need to solve.
Bonus chatter: My theory (which has yet to be well-tested) is that if a speaker uses the term big rocks in a presentation, you can tell which definition the speaker is using by looking at the clip art they put on the slide. If it’s a bunch of boulders, then they use it to mean that it’s a problem to be solved. If it’s a jar, then they use it to mean a priority goal.
Narrator: It’s never a jar.
The post Microspeak: Big rocks appeared first on The Old New Thing.
Birger Schacht: Status update, November 2025 [Planet Debian]
I started this month with a week of vacation which was followed by a small planned surgery and two weeks of sick leave. Nonetheless, I packaged and uploaded new releases of a couple of packages:
Besides that I reactivated I project I started in summer 2024: debiverse.org. The idea of that was to have interfaces to Debian bugs and packages that are usable on mobile devices (I know, ludicrous!). Back then I started with Flask and Sqlalchemy, but that soon got out of hand. I now switched the whole stack to FastAPI and SQLModel which makes it a lot easier to manage. And the upside is that it comes with an API and OpenAPI docs. For the rendered HTML pages I use Jinja2 with Tailwind as CSS framework. I am currently using udd-mirror as database backend, which works pretty good (for this single user project). It would be nice to have some of the data in a faster index, like Typesense or Meilisearch. This way it would be possible to have faceted search or more performant full text search. But I haven’t found any software that could provide this that is packaged in Debian.


Pluribus spoilers below [Scripting News]
Theories on what's actually going on.
Also is Plur1bus like Saul Goodman, in that if you say it a different way it has a message encoded? The 1 instead of an i seems like a clue.
How to Identify Automated License Plate Readers at the U.S.-Mexico Border [Deeplinks]
U.S. Customs and Border Protection (CBP), the Drug Enforcement Administration (DEA), and scores of state and local law enforcement agencies have installed a massive dragnet of automated license plate readers (ALPRs) in the US-Mexico borderlands.
In many cases, the agencies have gone out of their way to disguise the cameras from public view. And the problem is only going to get worse: as recently as July 2025, CBP put out a solicitation to purchase 100 more covert trail cameras with license plate-capture ability.
Last month, the Associated Press published an in-depth investigation into how agencies have deployed these systems and exploited this data to target drivers. But what do these cameras look like? Here's a guide to identifying ALPR systems when you're driving the open road along the border.
Special thanks to researcher Dugan Meyer and AZ Mirror's Jerod MacDonald-Evoy. All images by EFF and Meyer were taken within the last three years.
All land ports of entry have ALPR systems that collect all vehicles entering and exiting the country. They typically look like this:
ALPR systems at the Eagle Pass International Bridge Port of Entry. Source: EFF
Most interior checkpoints, which are anywhere from a few miles to more than 60 from the border, are also equipped with ALPR systems operated by CBP. However, the DEA operates a parallel system at most interior checkpoints in southern border states.
When it comes to checkpoints, here's the rule of thumb: If you're traveling away from the border, you are typically being captured by a CBP/Border Patrol system (Border Patrol is a sub-agency of CBP). If you're traveling toward the border, it is most likely a DEA system.
Here's a representative example of a CBP checkpoint camera system:
ALPR system at the Border Patrol checkpoint near Uvalde, Texas. Source: EFF
At a typical port of entry or checkpoint, each vehicle lane will have an ALPR system. We've even seen border patrol checkpoints that were temporarily closed continue to funnel people through these ALPR lanes, even though there was no one on hand to vet drivers face-to-face. According CBP's Privacy Impact Assessments (2017, 2020), CBP keeps this data for 15 years, but generally agents can only search the most recent five years worth of data.
The scanners were previously made by a company called Perceptics which was infamously hacked, leading to a breach of driver data. The systems have since been "modernized" (i.e. replaced) by SAIC.
Here's a close up of the new systems:
Frontal ALPR camera at the checkpoint near Uvalde, Texas. Source: EFF
In 2024, the DEA announced plans to integrate port of entry ALPRs into its National License Plate Reader Program (NLPRP), which the agency says is a network of both DEA systems and external law enforcement ALPR systems that it uses to investigate crimes such as drug trafficking and bulk cash smuggling.
Again, if you're traveling towards the border and you pass a checkpoint, you're often captured by parallel DEA systems set up on the opposite side of the road. However, these systems have also been found to be installed on their own away from checkpoints.
These are a major component of the DEA's NLPRP, which has a standard retention period of 90 days. This program dates back to at least 2010, according to records obtained by the ACLU.
Here is a typical DEA system that you will find installed near existing Border Patrol checkpoints:
DEA ALPR set-up in southern Arizona. Source: EFF
These are typically made by a different vendor, Selex ES, which also includes the brands ELSAG and Leonardo. Here is a close-up:
Close-up of a DEA camera near the Tohono O'odham Nation in Arizona. Source: EFF
As you drive along border highways, law enforcement agencies have disguised cameras in order to capture your movements.
The exact number of covert ALPRs at the border is unknown, but to date we have identified approximately 100 sites. We know CBP and DEA each operate covert ALPR systems, but it isn't always possible to know which agency operates any particular set-up.
Another rule of thumb: if a covert ALPR has a Motorola Solutions camera (formerly Vigilant Solutions) inside, it's likely a CBP system. If it has a Selex ES camera inside, then it is likely a DEA camera.
Here are examples of construction barrels with each kind of camera:
A covert ALPR with a Motorola Solutions ALPR camera near Calexico, Calif. Source: EFF
These are typically seen along the roadside, often in sets of three, but almost always connected to some sort of solar panel. They are often placed behind existing barriers.
A covert ALPR with a Selex ES camera in southern Arizona. Source: EFF
The DEA models are also found by the roadside, but they also can be found inside or near checkpoints.
If you're curious (as we were), here's what they look like inside, courtesy of the US Patent and Trademark Office:
Patent for portable covert license plate reader. Source: USPTO
In addition to orange construction barrels, agencies also conceal ALPRs in yellow sandbarrels. For example, these can be found throughout southern Arizona, especially in the southeastern part of the state.
A covert ALPR system in Arizona. Source: EFF
Sometimes a speed trailer or signage trailer isn't designed so much for safety but to conceal ALPR systems. Sometimes ALPRs are attached to indistinct trailers with no discernible purpose that you'd hardly notice by the side of the road.
It's important to note that its difficult to know who these belong to, since they aren't often marked. We know that all levels of government, even in the interior of the country, have purchased these set ups.
Here are some of the different flavors of ALPR trailers:
An ALPR speed trailer in Texas. Source: EFF
ALPR trailer in Southern California. Source. EFF
ALPR trailer in Southern California. Source. EFF
An ALPR unit in southern Arizona. Source: EFF
ALPR unit in southern Arizona. Source: EFF
A Jenoptik Vector ALPR trailer in La Joya, Texas. Source: EFF
One particularly worrisome version of an ALPR trailer is the Jenoptik Vector: at least two jurisdictions along the border have equipped these trailers not only with ALPR, but with TraffiCatch technology that gathers Bluetooth and Wi-Fi identifiers. This means that in addition to gathering plates, these devices would also document mobile devices, such as phones, laptops, and even vehicle entertainment systems.
Stationary or fixed ALPR is one of the more traditional ways of installing these systems. The cameras are placed on existing utility poles or other infrastructure or on poles installed by the ALPR vendor.
For example, here's a DEA system installed on a highway arch:
The lower set of ALPR cameras belong to the DEA. Source: Dugan Meyer CC BY
ALPR camera in Arizona. Source: Dugan Meyer CC BY
At the local level, thousands of cities around the United States have adopted fixed ALPR, with the company Flock Safety grabbing a huge chunk of the market over the last few years. County sheriffs and municipal police along the border have also embraced the trend, with many using funds earmarked for border security to purchase these systems. Flock allows these agencies to share with one another and contribute their ALPR scans to a national pool of data. As part of a pilot program, Border Patrol had access to this ALPR data for most of 2025.
A typical Flock Safety setup involves attaching cameras and solar panels to poles. For example:
Flock Safety ALPR poles installed just outside the Tohono O'odham Nation in Arizona. Source: EFF
A close-up of a Flock Safety camera in Douglas, Arizona. Source: EFF
We've also seen these camera poles placed outside the Santa Teresa Border Patrol station in New Mexico.
Flock may now be the most common provider nationwide, but it isn't the only player in the field. DHS recently released a market survey of 16 different vendors providing similar technology.
ALPR cameras can also be found attached to patrol cars. Here's an example of a Motorola Solutions ALPR attached to a Hidalgo County Constable vehicle in South Texas:
Mobile ALPR on a Hidalgo County Constable vehicle. Source: Weslaco Police Department
These allow officers not only to capture ALPR data in real time as they are driving along, but they will also receive an in-car alert when a scan matches a vehicle on a "hot list," the term for a list of plates that law enforcement has flagged for further investigation.
Here's another example:
Mobile ALPR in La Mesa, Calif.. Source: La Mesa Police Department Facebook page
EFF has been documenting the wide variety of technologies deployed at the border, including surveillance towers, aerostats, and trail cameras. To learn more, download EFF's zine, "Surveillance Technology at the US-Mexico Border" and explore our map of border surveillance, which includes Google Streetview links so you can see exactly how each installation looks on the ground. Currently we have mapped out most DEA and CBP checkpoint ALPR setups, with covert cameras planned for addition in the near future.
November GNU Spotlight with Amin Bandali featuring twelve new GNU releases: Coreutils, Gnuastro, and more! [Planet GNU]
Twelve new GNU releases in the last month (as of November 30, 2025):
Let's Encrypt to reduce certificate lifetimes [LWN.net]
Let's Encrypt has announced that it will be reducing the validity period of its certificates from 90 days to 45 days by 2028:
Most users of Let's Encrypt who automatically issue certificates will not have to make any changes. However, you should verify that your automation is compatible with certificates that have shorter validity periods.
To ensure your ACME client renews on time, we recommend using ACME Renewal Information (ARI). ARI is a feature we've introduced to help clients know when they need to renew their certificates. Consult your ACME client's documentation on how to enable ARI, as it differs from client to client. If you are a client developer, check out this integration guide.
If your client doesn't support ARI yet, ensure it runs on a schedule that is compatible with 45-day certificates. For example, renewing at a hardcoded interval of 60 days will no longer be sufficient. Acceptable behavior includes renewing certificates at approximately two thirds of the way through the current certificate's lifetime.
Manually renewing certificates is not recommended, as it will need to be done more frequently with shorter certificate lifetimes.
Security updates for Tuesday [LWN.net]
Security updates have been issued by Fedora (gnutls, libpng, mingw-python3, python-spotipy, source-to-image, unbound, and webkitgtk), Mageia (libpng), SUSE (bash-git-prompt, gitea-tea, java-17-openjdk, java-21-openjdk, kernel, openssh, python, and shadowsocks-v2ray-plugin, v2ray-core), and Ubuntu (binutils, openjdk-17-crac, openjdk-21-crac, and openjdk-25-crac).
[$] Zig's new plan for asynchronous programs [LWN.net]
The designers of the Zig programming language have been working to find a suitable design for asynchronous code for some time. Zig is a carefully minimalist language, and its initial design for asynchronous I/O did not fit well with its other features. Now, the project has announced (in a Zig SHOWTIME video) a new approach to asynchronous I/O that promises to solve the function coloring problem, and allows writing code that will execute correctly using either synchronous or asynchronous I/O.
FreeBSD 15.0 released [LWN.net]
FreeBSD 15.0 has been released. Notable changes in this release include a new method for installing the base system using the pkg package manager, an update to OpenZFS 2.4.0-rc4, native support for the inotify(2) interface, and the addition of Open Container Initiative (OCI) images to FreeBSD's release artifacts. See the release notes for a full list of changes, hardware notes for supported hardware, and check the errata before installing or upgrading.
The 2025 Whatever Holiday Gift Guide, Day Two: Non-Traditional Books [Whatever]

Today is Day Two of the Whatever Holiday Gift Guide 2025, and today the focus is on Non-Traditionally Published Books: Self-published works, electronically-exclusive books, books from micro presses, books released outside the usual environs of the publishing world, and so on. Hey, I put my first novel up on this very Web site years ago and told people to send me a dollar if they liked it. Look where it got me. I hope you find some good stuff today.
Please note that the comment thread today is only for non-traditional authors and editors to post about their books; please do not leave other comments, as they will be snipped out to keep the thread from getting cluttered. Thanks!
Authors/editors: Here’s how to post in this thread. Please follow these directions!
1. Authors and editors of non-traditionally published books only. This includes comics and graphic novels, as well as non-fiction books and audiobooks. If your book has been traditionally published — available in bookstores on a returnable basis — post about your book in the thread that went up yesterday (if you are in doubt, assume you are non-traditionally published and post here). If you are a creator in another form or medium, your thread is coming tomorrow. Don’t post if you are not the author or editor, please.
2. Completed works only. Do not post about works in progress, even if you’re posting them publicly. Remember that this is supposed to be a gift guide, and that these are things meant to be given to other people. Likewise, don’t just promote yourself unless you have something to sell or provide, that others may give as a gift.
3. One post per author. In that post, you can list whatever books of yours you like, but allow me to suggest you focus on your most recent book. Note also that the majority of Whatever’s readership is in the US/Canada, so I suggest focusing on books available in North America. If your book is only available in the UK or some other country, please let people know!
4. Keep your description of your book brief (there will be a lot of posts, I’m guessing) and entertaining. Imagine the person is in front of you as you tell them about your book and is interested but easily distracted.
5. You may include a link to a bookseller if you like by using a URL. Be warned that if you include too many links (typically three or more) your post may get sent to the moderating queue. If this happens, don’t panic: I’ll be going in through the day to release moderated posts. Note that posts will occasionally go into the moderation queue semi-randomly; Don’t panic about that either.
6. As noted above, comment posts that are not from authors/editors promoting their books as specified above will be deleted, in order to keep the comment thread useful for people looking to find interesting books.
Now: Tell us about your book!
Tomorrow (12/3): Other creators (musicians, artists, crafters, etc!)
Pluralistic: All the books I reviewed in 2025 (02 Dec 2025) [Pluralistic: Daily links from Cory Doctorow]
I read as much as I could in 2025, but as ever, I have finished the year bitterly aware of how many wonderful books I didn't get to, whose spines glare daggers at me whenever I sit down at my desk, beneath my groaning To Be Read shelf. But I did write nearly two dozen reviews here on Pluralistic in calendar 2025, which I round up below.
If these aren't enough for you, please check out the lists from previous years.
2023: https://pluralistic.net/2023/12/01/bookmaker/#2023-in-review
2022: https://pluralistic.net/2022/12/01/bookishness/#2022-in-review
2021: https://pluralistic.net/2021/12/08/required-ish-reading/#bibliography
2020: https://pluralistic.net/2020/12/08/required-reading/#recommended-reading
Now that my daughter is off at college (!), I have a lot fewer kids' books in my life than I did when she was growing up. I miss 'em! (And I miss her, too, obviously).
But! I did manage to read a couple great kids' books this year that I recommend to you without reservation, both for your own pleasure and for any kids in your life, and I wanted to call them out separately, since (good) books are such good gifts for kids:
https://pluralistic.net/2025/03/11/klong-you-are-a-pickle-2/#martian-space-potato
https://pluralistic.net/2025/11/05/xor-xand-xnor-nand-nor/#brawniac

I. Cooking in Maximum Security, Matteo Guidi
Cooking in Maximum Security is a slim volume of prisoners' recipes and improvised cooking equipment, a testament to the ingenuity of a network of prisoners in Italy's maximum security prisons.
https://pluralistic.net/2025/11/24/moca-moka/#culinary-apollo-13

II. 9 Times My Work Has Been Ripped Off, Raymond
Biesinger
A masterclass in how creative workers can transform the endless, low-grade seething about the endless ripoffs of the industry into something productive and even profound.
https://pluralistic.net/2025/10/28/productive-seething/#fuck-you-pay-me

III. Three Rocks, Bill Griffiths
What better format for a biography of Ernie Bushmiller, creator of the daily Nancy strip, than a graphic novel? And who better to write and draw it than Bill Griffith, creator of Zippy the Pinhead, a long-running and famously surreal daily strip? Griffith is carrying on the work of Scott McCloud, whose definitive Understanding Comics used the graphic novel form to explain the significance and method of sequential art, singling out Nancy for special praise.
https://pluralistic.net/2025/06/27/the-snapper/#9-to-107-spikes

IV. The Blues Brothers, Daniel de Visé
A brilliantly told, brilliantly researched tale that left me with a much deeper understanding of – and appreciation for – the cultural phenomenon that I was (and am) swept up in.
https://pluralistic.net/2025/06/21/1060-west-addison/#the-new-oldsmobiles-are-in-early-this-year

V. Close to the Machine, Ellen Ullman
Ullman's subtitle for the book is "Technophilia and its discontents," and therein lies the secret to its magic. Ullman loves programming computers, loves the way they engage her attention, her consciousness, and her intelligence. Her descriptions of the process of writing code – of tackling a big coding project – are nothing less than revelatory. She captures something that a million technothriller movies consistently fail to even approach: the dramatic interior experience of a programmer who breaks down a complex problem into many interlocking systems, the momentary and elusive sense of having all those systems simultaneously operating in a high-fidelity mental model, the sense of being full, your brain totally engaged in every way. It's a poetics of language that meets and exceeds the high bar set by the few fiction writers who've ever approached a decent rendering of this feeling, like William Gibson.
https://pluralistic.net/2025/07/16/beautiful-code/#hackers-disease

VI. Chasing Shadows, Ron Deibert
Deibert's pulse-pounding, sphinter-tightening true memoir of his battles with the highly secretive cyber arms industry whose billionaire owners provide mercenary spyware that's used by torturers, murderers and criminals to terrorize their victims.
https://pluralistic.net/2025/02/04/citizen-lab/#nso-group

VII. Little Bosses Everywhere, Bridget Read
Read, an investigative journalist at Curbed, takes us through the history of the multi-level marketing "industry," which evolved out of Depression-era snake oil salesmen, Tupperware parties, and magical thinking cults built around books like Think and Grow Rich. This fetid swamp gives rise to a group of self-mythologizing scam artists who founded companies like Amway and Mary Kay, claiming outlandish – and easily debunked – origin stories that the credulous press repeats, alongside their equally nonsensical claims about the "opportunities" they are creating for their victims.
https://pluralistic.net/2025/05/05/free-enterprise-system/#amway-or-the-highway

VIII. Careless People, Sarah Wynn-Williams
Wynn-Williams was a lot closer to three of the key personalities in Facebook's upper echelon than anyone in my orbit: Mark Zuckerberg, Sheryl Sandberg, and Joel Kaplan, who was elevated to VP of Global Policy after the Trump II election. I already harbor an atavistic loathing of these three based on their public statements and conduct, but the events Wynn-Williams reveals from their private lives make them out to be beyond despicable. There's Zuck, whose underlings let him win at board-games like Settlers of Catan because he's a manbaby who can't lose (and who accuses Wynn-Williams of cheating when she fails to throw a game of Ticket to Ride while they're flying in his private jet). There's Sandberg, who demands the right to buy a kidney for her child from someone in Mexico, should that child ever need a kidney.
https://pluralistic.net/2025/04/23/zuckerstreisand/#zdgaf

IX. More Everything Forever, Adam Becker
Astrophysicist Adam Becker knows a few things about science and technology – enough to show, in a new book called More Everything Forever that the claims that tech bros make about near-future space colonies, brain uploading, and other skiffy subjects are all nonsense dressed up as prediction.
https://pluralistic.net/2025/04/22/vinges-bastards/#cyberpunk-is-a-warning-not-a-suggestion

X. Murder the Truth, David Enrich
A brave, furious book about the long-running plan by America's wealthy and corrupt to "open up the libel laws" so they can destroy their critics. In taking on the libel-industrial complex – a network of shadowy, thin-skinned, wealthy litigation funders; crank academics; buck-chasing lawyer lickspittle sociopaths; and the most corrupt Supreme Court justice on the bench today – Enrich is wading into dangerous territory. After all, he's reporting on people who've made it their life's mission to financially destroy anyone who has the temerity to report on their misdeeds.
https://pluralistic.net/2025/03/17/actual-malice/#happy-slapping

I. Letters From an Imaginary Country, Theodora Goss
Goss spins extremely weird, delightful and fun scenarios in these stories and she slides you into them like they were a warm bath. Before you know it, you're up to your nostrils in story, the water filling your ears, and you don't even remember getting in the tub. They're that good. Goss has got a pretty erudite and varied life-history to draw on here. She's a Harvard-trained lawyer who was born in Soviet Hungary, raised across Europe and the UK and now lives in the USA. She's got a PhD in English Lit specializing in gothic literature and monsters and was the research assistant on a definitive academic edition of Dracula. Unsurprisingly, she often writes herself into her stories as a character.
https://pluralistic.net/2025/11/11/athena-club/#incluing

II. The Immortal Choir Holds Every Voice, Margaret
Killjoy
A collection of three linked short stories set in Killjoy's celebrated Danielle Cain series, which Alan Moore called "ideal reading for a post-truth world. Danielle Cain is a freight-train-hopping, anarcho-queer hero whose adventures are shared by solidaristic crews of spellcasting, cryptid-battling crustypunk freaks and street-fighters.
https://pluralistic.net/2025/06/18/anarcho-cryptid/#decameron-and-on

III. Fever Beach, Carl Hiaasen
Hiaasen's method is diabolical and hilarious: each volume introduces a bewildering cast of odd, crooked, charming, and/or loathsome Floridians drawn from his long experience chronicling the state and its misadventures. After 20-some volumes in this vein (including Bad Monkey, lately adapted for Apple TV), something far weirder than anything Hiaasen ever dreamed up came to pass: Donald Trump, the most Florida Man ever, was elected president. If you asked an LLM to write a Hiaasen novel, you might get Trump: a hacky, unimaginative version of the wealthy, callous, scheming grifters of the Hiaasenverse. Back in 2020, Hiaasen wrote Trump into Squeeze Me, a tremendous and madcap addition to his canon. Fever Beach is the first Hiaasen novel since Squeeze Me, and boy, does Hiaasen ever have MAGA's number. It's screamingly funny, devilishly inventive, and deeply, profoundly satisfying. With Fever Beach, Hiaasen makes a compelling case for Florida as the perfect microcosm of the terrifying state of America, and an even more compelling case for his position as its supreme storyteller.
https://pluralistic.net/2025/10/21/florida-duh/#strokerz-for-liberty

IV. Jules, Penny and the Rooster, Daniel Pinkwater
Jules and her family have just moved to a suburb called Bayberry Acres in the sleepy dormitory city of Turtle Neck and now she's having a pretty rotten summer. All that changes when Jules enters an essay contest in the local newspaper to win a collie (a contest she enters without telling her parents, natch) and wins. Jules names the collie Penny, and they go for long rambles in the mysterious woods that Bayberry Acres were carved out of. It's on one of these walks that they meet the rooster, a handsome, proud, friendly fellow who lures Penny over the stone wall that demarcates the property line ringing the spooky, abandoned mansion/castle at the center of the woods. Jules chases Penny over the wall, and that's when everything changes.
On the other side of that wall is a faun, and little leprechaun-looking guys, and a witch (who turns out to be a high-school chum of her city-dwelling, super-cool aunt), and there's a beast in a hidden dilapidated castle. After Jules sternly informs the beast that she's far too young to be anyone's girlfriend – not even a potentially enchanted prince living as a beast in a hidden castle – he disabuses her of this notion and tells her that she is definitely the long-prophesied savior of the woods, whose magic has been leaking out over years.
Nominally this is a middle-grades book, and while it will certainly delight the kids in your life, I ate it up. The purest expression of Pinkwater's unique ability to blend the absurd and the human and make the fantastic normal and the normal fantastic. I laughed long and hard, and turned the final page with that unmissable Pinkwatertovian sense of satisfied wonder.
https://pluralistic.net/2025/03/11/klong-you-are-a-pickle-2/#martian-space-potato

V. Where the Axe Is Buried, Ray Nayler
An intense, claustrophobic novel of a world run by "rational" AIs that purport to solve all of our squishy political problems with empirical, neutral mathematics. It's a birchpunk tale of AI skulduggery, lethal robot insects, radical literature, swamp-traversing mechas, and political intrigue that flits around a giant cast of characters, creating a dizzying, in-the-round tour of Nayler's paranoid world. A work of first-rate science fiction, which provides an emotional flythrough of how Larry Ellison's vision of an AI-driven surveillance state where everyone is continuously observed, recorded and judged by AIs so we are all on our "best behavior" would obliterate the authentic self, authentic relationships, and human happiness.
https://pluralistic.net/2025/03/20/birchpunk/#cyberspace-is-everting

VI. Lessons in Magic and Disaster, Charlie Jane Anders
A novel about queer academia, the wonder of thinking very hard about very old books, and the terror and joy of ambiguous magic. Anders tosses a lot of differently shaped objects into the air, and then juggles them, interspersing the main action with excerpts from imaginary 18th century novels (which themselves contain imaginary parables) that serve as both a prestige and a framing device.
It's the story of Jamie, a doctoral candidate at a New England liberal arts college who is trying to hold it all together while she finishes her dissertation. That would be an impossible lift, except for Jamie's gift for maybe-magic – magic that might or might not be real. Certain places ("liminal spaces") call to Jamie. These are abandoned, dirty, despoiled places, ruins and dumps and littered campsites. When Jamie finds one of these places, she can improvise a ritual, using the things in her pockets and school bag as talismans that might – or might not – conjure small bumps of luck and fortune into Jamie's path.
There's a lot of queer joy in here, a hell of a lot of media theory, and some very chewy ruminations on the far-right mediasphere. There's romance and heartbreak, danger and sacrifice, and most of all, there's that ambiguous magic, which gets realer and scarier as the action goes on.
https://pluralistic.net/2025/08/19/revenge-magic/#liminal-spaces

VII. The Adventures of Mary Darling, Pat Murphy
The titular Mary Darling here is the mother of Wendy, John and and Michael Darling, the three children who are taken by Peter Pan to Neverland in JM Barrie's 1902 book The Little White Bird, which later became Peter Pan. After Mary's children go missing, Mary's beloved uncle, John Watson, is summoned to the house, along with his famous roommate, the detective Sherlock Holmes. However, Holmes is incapable of understanding where the Darling children have gone, because to do so would be to admit the existence of the irrational and fantastic, and, more importantly, to accept the testimony of women, lower-class people, and pirates. Holmes has all the confidence of the greatest detective alive, which means he is of no help at all.
Only Mary can rescue her children. John Watson discovers her consorting with Sam, a one-legged Pacific Islander who is a known fence and the finest rat-leather glovemaker in London, these being much prized by London's worst criminal gangs. Horrified that Mary is keeping such ill company, Watson confronts her and Sam (and Sam's parrot, who screeches nonstop piratical nonsense), only to be told that Mary knows what she is doing, and that she is determined to see her children home safe.
What follows is a very rough guide to fairyland. It's a story that recovers the dark asides from Barrie's original Pan stories, which were soaked with blood, cruelty and death. The mermaids want to laugh as you drown. The fairies hate you and want you to die. And Peter Pan doesn't care how many poorly trained Lost Boy starvelings die in his sorties against pirates, because he knows where there are plenty more Lost Boys to be found in the alienated nurseries of Victorian London, an ocean away.
https://pluralistic.net/2025/05/06/nevereverland/#lesser-ormond-street

I. Science Comics Computers: How Digital Hardware Works, Perry
Metzger, Penelope Spector and Jerel Dye
Legendary cypherpunk Perry Metzger teams up with Penelope Spector and illustrator Jerel Dye for a tour-de-force young adult comic book that uses hilarious steampunk dinosaurs to demystify the most foundational building-blocks of computers. The authors take pains to show the reader that computing can be abstracted from computing. The foundation of computing isn't electrical engineering, microlithography, or programming: it's logic. While there's plenty of great slapstick, fun art, and terrific characters in this book that will make you laugh aloud, the lasting effect upon turning the last page isn't just entertainment, it's empowerment.
https://pluralistic.net/2025/11/05/xor-xand-xnor-nand-nor/#brawniac

II. Feeding Ghosts, Tessa Hulls
A stunning memoir that tells the story of three generations of Hulls's Chinese family. It was a decade in the making, and it is utterly, unmissably brilliant. It tells the story of Hulls's quest to understand – and heal – her relationship with her mother, a half-Chinese, half-Swiss woman who escaped from China as a small child with her own mother, a journalist who had been targeted by Mao's police.
Each of the intertwined narratives – revolutionary China, Rose's girlhood, Hulls's girlhood, the trips to contemporary China, Hulls's adulthood and Sun Yi's institutionalizations and long isolation – are high stakes, high-tension scenarios, beautifully told. Hulls hops from one tale to the next in ways that draw out the subtle, imporant parallels between each situation, subtly amplifying the echoes across time and space.
Feeding Ghosts has gone on to win the Pulitzer Prize, only the second graphic novel in history to take the honor (the first was Maus, another memoir of intergenerational trauma, horrific war, and the American immigrant experience).
https://pluralistic.net/2025/07/02/filial-piety/#great-leap-forward

III. The Murder Next Door, Hugh D'Andrade
Hugh D'Andrade is a brilliant visual communicator, the art director responsible for the look-and-feel of EFF's website. He's also haunted by a murder – the killing of the mother of his childhood playmates, which cast a long, long shadow over his life, as he recounts in his debut graphic novel. It's a haunting, beautiful meditation on masculinity, trauma, and fear. Hugh is a superb illustrator, particularly when it comes to bringing abstract ideas to life, and this is a tale beautifully told.
https://pluralistic.net/2025/02/10/pivot-point/#eff

IV. Simplicity, Mattie Lubchansky
Simplicity is set in the not-so-distant future, in which the US has dissolved and its major centers have been refashioned as "Administrative and Security Territories" – a fancy way of saying "walled corporate autocracies." Lucius Pasternak is an anthropology grad student in the NYC AST, a trans-man getting by as best as he can, minimizing how much he sells out.
Pasternak's fortunes improve when he gets a big, juicy assignment: to embed with a Catskills community of weirdo sex-hippies who supply the most coveted organic produce in the NYC AST. They've been cloistered in an old summer camp since the 1970s, and when civilization collapsed, it barely touched them. Pasternak's mission is to chronicle the community and its strange ways for a billionaire's vanity-project museum of New York State.
This is post-cyberpunk, ecosexual revolutionary storytelling at its finest.
https://pluralistic.net/2025/08/01/ecosexuality/#nyc-ast

V. The Weight, Melissa Mendes
A book that will tear your heart out, it will send you to a dreamy world of pastoral utopianism, then it will tear your heart out. Again.
A story of cyclic abuse, unconditional love, redemption, and tragedy, the tale of Edie, born to an abusive father and a teen mother, who is raised away from her family, on a military base where she runs feral with other children, far from the brutality of home. This becomes a sweet and lovely coming-of-age tale as Edie returns to her grandparents' home, and then turns to horror again.
The Weight is a ferocious read, the sweetness of the highs there to provide texture for the bitterness of the lows.
https://pluralistic.net/2025/08/21/weighty/#edie-is-a-badass
This was a light reading year for me, but, in my defense, I did some re-reading, including all nine volumes of Naomi Novik's incredible Temeraire:
https://pluralistic.net/2023/01/08/temeraire/#but-i-am-napoleon
But the main reason I didn't read as much as I normally would is that I published two international bestsellers of my own this year.

The first was Picks and Shovels, a historical technothriller set in the early 1980s, when the PC was first being born. It's the inaugural adventure of Martin Hench, my hard-fighting, two-fisted, high-tech forensic accountant crimefighter, and it's designed to be read all on its own. Marty's first adventure sees him pitted against the owners of a weird PC pyramid-sales cult: a Mormon bishop, an orthodox rabbi and a Catholic priest, whose PC business is a front for a predatory faith-based sales cult:
https://us.macmillan.com/books/9781250865908/picksandshovels/

The other book was Enshittification, the nonfiction book I'm touring now (I wrote all this up on the train to San Diego, en route to an event at the Mission Hills Library). It's a book-length expansion of my theory of platform decay ("enshittification"), laying out the process by which the tech platforms we rely on turn themselves into piles of shit, and (more importantly), explaining why this is happening now:
https://us.macmillan.com/books/9780374619329/enshittification/
I've got a stack of books I'm hoping to read in the new year, but I'm going to have to squeeze them in among several other book projects of my own. First, there's The Reverse Centaur's Guide to Life After AI," a short book about being a better AI critic, which drops in June from Farrar, Straus and Giroux. I'm also *writing a new book, The Post-American Internet (about the internet we could have now that Trump has destroyed America's soft power and its grip on global tech policy. There's also a graphic novel adaptation of Unauthorized Bread (with Blue Delliquanti), which Firstsecond will publish in late 2026 or 2027; and a graphic novel adaptation of Enshittification (with Koren Shadmi), which Firstsecond will publish in 2027.
But of course I'm gonna get to at least some of those books on my overflowing TBR shelf, and when I do, I'll review them here on Pluralistic for you. You can follow my Reviews tag if you want to stay on top of these (there's also an RSS feed for that tag):
https://pluralistic.net/tag/reviews/

Prisoners’ Inventions https://www.lapl.org/events/exhibits/no-prior-art/exhibitions/
Inside a Group of Vigilantes with One Goal: Painting Crosswalks to Protect Pedestrians https://people.com/inside-secretive-group-vigilantes-one-goal-painting-crosswalks-save-pedestrians-11849437
The AI bubble isn’t new — Karl Marx explained the mechanisms behind it nearly 150 years ago https://theconversation.com/the-ai-bubble-isnt-new-karl-marx-explained-the-mechanisms-behind-it-nearly-150-years-ago-270663
Let's See What's Going On Down At The Piss Factory https://www.todayintabs.com/p/let-s-see-what-s-going-on-down-at-the-piss-factory
#20yrsago Man flies 1MM miles on a 60 day unlimited ticket, wins 10 more flights https://web.archive.org/web/20051203031434/http://au.news.yahoo.com/051201/15/x0z4.html
#20yrsago Schneier: Aviation security is a bad joke https://web.archive.org/web/20060212060858/http://www.wired.com/news/privacy/0,1848,69712,00.html?tw=wn_tophead_2
#20yrsago David Byrne gets RIAA warning https://web.archive.org/web/20051223160922/http://journal.davidbyrne.com/2005/12/12105_rant_abou.html
#20yrsago Sam Buck sued for naming her coffee shop after herself https://web.archive.org/web/20051231144818/https://www.sfgate.com/cgi-bin/article.cgi?file=/news/archive/2005/12/01/financial/f132605S26.DTL
#20yrsago Eek-A-Mouse jamming with Irish pub musicians https://web.archive.org/web/20051211095248/http://www.alphabetset.net/audio/t-woc/eek_trad.mp3
#15yrsago Bowls made from melted army men https://web.archive.org/web/20071011212754/http://www.associatedcontent.com/article/388073/how_to_make_a_bowl_from_melted_army.html
#15yrsago TSA recommends using sexual predator tactics to calm kids at checkpoints https://web.archive.org/web/20101204044209/https://www.rawstory.com/rs/2010/12/airport-patdowns-grooming-children-sex-predators-abuse-expert/
#15yrsago University of Glasgow gives away software, patents, consulting https://www.gla.ac.uk/news/archiveofnews/2010/november/headline_181588_en.html
#15yrsago Judge in Xbox hacker trial unloads both barrels on the prosecution https://web.archive.org/web/20101203054828/https://www.wired.com/threatlevel/2010/12/xbox-judge-riled/
#10yrsago Scholars and activists stand in solidarity with shuttered research-sharing sites https://custodians.online/
#10yrsago Mesopotamian boundary stones: the DRM of pre-history https://web.archive.org/web/20151130212151/https://motherboard.vice.com/read/before-drm-there-were-mesopotamian-boundary-stones
#10yrsago Canadian civil servants grooming new minister to repeat Harper’s Internet mistakes https://www.michaelgeist.ca/2015/11/what-canadian-heritage-officials-didnt-tell-minister-melanie-joly-about-copyright/
#5yrsago Distanced stage plays https://pluralistic.net/2020/12/01/autophagic-buckeyes/#xanadu
#5rsago Ohio spends tax dollars to destroy Ohio https://pluralistic.net/2020/12/01/autophagic-buckeyes/#subsidized-autophagia

Virtual: Poetic Technologies with Brian Eno (David Graeber
Institute), Dec 8
https://davidgraeber.institute/poetic-technologies-with-cory-doctorow-and-brian-eno/
Madison, CT: Enshittification at RJ Julia, Dec 8
https://rjjulia.com/event/2025-12-08/cory-doctorow-enshittification
Hamburg: Chaos Communications Congress, Dec 27-30
https://events.ccc.de/congress/2025/infos/index.html
How Enshittification is Destroying The Internet (Frontline
Club)
https://www.youtube.com/watch?v=oovsyzB9L-s
Escape Forward with Cristina Caffarra
https://escape-forward.com/2025/11/27/enshittification-of-our-digital-experience/
Why Every Platform Betrays You (Trust Revolution)
https://fountain.fm/episode/bJgdt0hJAnppEve6Qmt8
How the internet went to sh*t (Prospect Magazine)
https://www.prospectmagazine.co.uk/podcasts/prospect-podcast/71663/cory-doctorow-how-the-internet-went-to-sht
"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 (the-bezzle.org).
"The Lost Cause:" a solarpunk novel of hope in the climate emergency, Tor Books (US), Head of Zeus (UK), November 2023 (http://lost-cause.org).
"The Internet Con": A nonfiction book about interoperability and Big Tech (Verso) September 2023 (http://seizethemeansofcomputation.org). Signed copies at Book Soup (https://www.booksoup.com/book/9781804291245).
"Red Team Blues": "A grabby, compulsive thriller that will leave you knowing more about how the world works than you did before." Tor Books http://redteamblues.com.
"Chokepoint Capitalism: How to Beat Big Tech, Tame Big Content, and Get Artists Paid, with Rebecca Giblin", on how to unrig the markets for creative labor, Beacon Press/Scribe 2022 https://chokepointcapitalism.com
"Enshittification, Why Everything Suddenly Got Worse and What to Do About It" (the graphic novel), Firstsecond, 2026
"The Memex Method," Farrar, Straus, Giroux, 2026
"The Reverse-Centaur's Guide to AI," a short book about being a better AI critic, Farrar, Straus and Giroux, June 2026
Today's top sources:
Currently writing:
"The Post-American Internet," a 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
CodeSOD: The Destination Dir [The Daily WTF]
Darren is supporting a Delphi application in the current decade. Which is certainly a situation to be in. He writes:
I keep trying to get out of doing maintenance on legacy Delphi applications, but they keep pulling me back in.
The bit of code Darren sends us isn't the largest WTF, but it's a funny mistake, and it's a funny mistake that's been sitting in the codebase for decades at this point. And as we all know, jokes only get funnier with age.
FileName := DestDir + ExtractFileName(FileName);
if FileExists(DestDir + ExtractFileName(FileName)) then
begin
...
end;
This code is inside of a module that copies a file from a remote
server to the local host. It starts by sanitizing the
FileName, using ExtractFileName to strip
off any path components, and replace them with
DestDir, storing the result in the
FileName variable.
And they liked doing that so much, they go ahead and do it again
in the if statement, repeating the exact same
process.
Darren writes:
As Homer Simpson said "Lather, rinse, and repeat. Always repeat."
What MCP and Claude Skills Teach Us About Open Source for AI [Radar]
The debate about open source AI has largely featured open weight models. But that’s a bit like arguing that in the PC era, the most important goal would have been to have Intel open source its chip designs. That might have been useful to some people, but it wouldn’t have created Linux, Apache, or the collaborative software ecosystem that powers the modern internet. What makes open source transformative is the ease with which people can learn from what others have done, modify it to meet their own needs, and share those modifications with others. And that can’t just happen at the lowest, most complex level of a system. And it doesn’t come easily when what you are providing is access to a system that takes enormous resources to modify, use, and redistribute. It comes from what I’ve called the architecture of participation.
This architecture of participation has a few key properties:
The most successful open source projects are built from small pieces that work together. Unix gave us a small operating system kernel surrounded by a library of useful functions, together with command-line utilities that could be chained together with pipes and combined into simple programs using the shell. Linux followed and extended that pattern. The web gave us HTML pages you could “view source” on, letting anyone see exactly how a feature was implemented and adapt it to their needs, and HTTP connected every website as a linkable component of a larger whole. Apache didn’t beat Netscape and Microsoft in the web server market by adding more and more features, but instead provided an extension layer so a community of independent developers could add frameworks like Grails, Kafka, and Spark.
MCP and Claude Skills remind me of those early days of Unix/Linux and the web. MCP lets you write small servers that give AI systems new capabilities such as access to your database, your development tools, your internal APIs, or third-party services like GitHub, GitLab, or Stripe. A skill is even more atomic: a set of plain language instructions, often with some tools and resources, that teaches Claude how to do something specific. Matt Bell from Anthropic remarked in comments on a draft of this piece that a skill can be defined as “the bundle of expertise to do a task, and is typically a combination of instructions, code, knowledge, and reference materials.” Perfect.
What is striking about both is their ease of contribution. You write something that looks like the shell scripts and web APIs developers have been writing for decades. If you can write a Python function or format a Markdown file, you can participate.
This is the same quality that made the early web explode. When someone created a clever navigation menu or form validation, you could view source, copy their HTML and JavaScript, and adapt it to your site. You learned by doing, by remixing, by seeing patterns repeated across sites you admired. You didn’t have to be an Apache contributor to get the benefit of learning from others and reusing their work.
Anthropic’s MCP Registry and third-party directories like punkpeye/awesome-mcp-servers show early signs of this same dynamic. Someone writes an MCP server for Postgres, and suddenly dozens of AI applications gain database capabilities. Someone creates a skill for analyzing spreadsheets in a particular way, and others fork it, modify it, and share their versions. Anthropic still seems to be feeling its way with user contributed skills, listing in its skills gallery only those they and select partners have created, but they document how to create them, making it possible for anyone to build a reusable tool based on their specific needs, knowledge, or insights. So users are developing skills that make Claude more capable and sharing them via GitHub. It will be very exciting to see how this develops. Groups of developers with shared interests creating and sharing collections of interrelated skills and MCP servers that give models deep expertise in a particular domain will be a potent frontier for both AI and open source.
It’s worth contrasting the MCP and skills approach with OpenAI’s custom GPTs, which represent a different vision of how to extend AI capabilities.
GPTs are closer to apps. You create one by having a conversation with ChatGPT, giving it instructions and uploading files. The result is a packaged experience. You can use a GPT or share it for others to use, but they can’t easily see how it works, fork it, or remix pieces of it into their own projects. GPTs live in OpenAI’s store, discoverable and usable but ultimately contained within the OpenAI ecosystem.
This is a valid approach, and for many use cases, it may be the right one. It’s user-friendly. If you want to create a specialized assistant for your team or customers, GPTs make that straightforward.
But GPTs aren’t participatory in the open source sense. You can’t “view source” on someone’s GPT to understand how they got it to work well. You can’t take the prompt engineering from one GPT and combine it with the file handling from another. You can’t easily version control GPTs, diff them, or collaborate on them the way developers do with code. (OpenAI offers team plans that do allow collaboration by a small group using the same workspace, but this is a far cry from open source–style collaboration.)
Skills and MCP servers, by contrast, are files and code. A skill is literally just a Markdown document you can read, edit, fork, and share. An MCP server is a GitHub repository you can clone, modify, and learn from. They’re artifacts that exist independently of any particular AI system or company.
This difference matters. The GPT Store is an app store, and however rich it becomes, an app store remains a walled garden. The iOS App Store and Google Play store host millions of apps for phones, but you can’t view source on an app, can’t extract the UI pattern you liked, and can’t fork it to fix a bug the developer won’t address. The open source revolution comes from artifacts you can inspect, modify, and share: source code, markup languages, configuration files, scripts. These are all things that are legible not just to computers but to humans who want to learn and build.
That’s the lineage skills and MCP belong to. They’re not apps; they’re components. They’re not products; they’re materials. The difference is architectural, and it shapes what kind of ecosystem can grow around them.
Nothing prevents OpenAI from making GPTs more inspectable and forkable, and nothing prevents skills or MCP from becoming more opaque and packaged. The tools are young. But the initial design choices reveal different instincts about what kind of participation matters. OpenAI seems deeply rooted in the proprietary platform model. Anthropic seems to be reaching for something more open.1
Of course, the web didn’t stay simple. HTML begat CSS, which begat JavaScript frameworks. View source becomes less useful when a page is generated by megabytes of minified React.
But the participatory architecture remained. The ecosystem became more complex, but it did so in layers, and you can still participate at whatever layer matches your needs and abilities. You can write vanilla HTML, or use Tailwind, or build a complex Next.js app. There are different layers for different needs, but all are composable, all shareable.
I suspect we’ll see a similar evolution with MCP and skills. Right now, they’re beautifully simple. They’re almost naive in their directness. That won’t last. We’ll see:
The question is whether this evolution will preserve the architecture of participation or whether it will collapse into something that only specialists can work with. Given that Claude itself is very good at helping users write and modify skills, I suspect that we are about to experience an entirely new frontier of learning from open source, one that will keep skill creation open to all even as the range of possibilities expands.
Open weights are necessary but not sufficient. Yes, we need models whose parameters aren’t locked behind APIs. But model weights are like processor instructions. They are important but not where the most innovation will happen.
The real action is at the interface layer. MCP and skills open up new possibilities because they create a stable, comprehensible interface between AI capabilities and specific uses. This is where most developers will actually participate. Not only that, it’s where people who are not now developers will participate, as AI further democratizes programming. At bottom, programming is not the use of some particular set of “programming languages.” It is the skill set that starts with understanding a problem that the current state of digital technology can solve, imagining possible solutions, and then effectively explaining to a set of digital tools what we want them to help us do. The fact that this may now be possible in plain language rather than a specialized dialect means that more people can create useful solutions to the specific problems they face rather than looking only for solutions to problems shared by millions. This has always been a sweet spot for open source. I’m sure many people have said this about the driving impulse of open source, but I first heard it from Eric Allman, the creator of Sendmail, at what became known as the open source summit in 1998: “scratching your own itch.” And of course, history teaches us that this creative ferment often leads to solutions that are indeed useful to millions. Amateur programmers become professionals, enthusiasts become entrepreneurs, and before long, the entire industry has been lifted to a new level.
Standards enable participation. MCP is a protocol that works across different AI systems. If it succeeds, it won’t be because Anthropic mandates it but because it creates enough value that others adopt it. That’s the hallmark of a real standard.
Ecosystems beat models. The most generative platforms are those in which the platform creators are themselves part of the ecosystem. There isn’t an AI “operating system” platform yet, but the winner-takes-most race for AI supremacy is based on that prize. Open source and the internet provide an alternate, standards-based platform that not only allows people to build apps but to extend the platform itself.
Open source AI means rethinking open source licenses. Most of the software shared on GitHub has no explicit license, which means that default copyright laws apply: The software is under exclusive copyright, and the creator retains all rights. Others generally have no right to reproduce, distribute, or create derivative works from the code, even if it is publicly visible on GitHub. But as Shakespeare wrote in The Merchant of Venice, “The brain may devise laws for the blood, but a hot temper leaps o’er a cold decree.” Much of this code is de facto open source, even if not de jure. People can learn from it, easily copy from it, and share what they’ve learned.
But perhaps more importantly for the current moment in AI, it was all used to train LLMs, which means that this de facto open source code became a vector through which all AI-generated code is created today. This, of course, has made many developers unhappy, because they believe that AI has been trained on their code without either recognition or recompense. For open source, recognition has always been a fundamental currency. For open source AI to mean something, we need new approaches to recognizing contributions at every level.
Licensing issues also come up around what happens to data that flows through an MCP server. What happens when people connect their databases and proprietary data flows through an MCP so that an LLM can reason about it? Right now I suppose it falls under the same license as you have with the LLM vendor itself, but will that always be true? And, would I, as a provider of information, want to restrict the use of an MCP server depending on a specific configuration of a user’s LLM settings? For example, might I be OK with them using a tool if they have turned off “sharing” in the free version, but not want them to use it if they hadn’t? As one commenter on a draft of this essay put it, “Some API providers would like to prevent LLMs from learning from data even if users permit it. Who owns the users’ data (emails, docs) after it has been retrieved via a particular API or MCP server might be a complicated issue with a chilling effect on innovation.”
There are efforts such as RSL (Really Simple Licensing) and CC Signals that are focused on content licensing protocols for the consumer/open web, but they don’t yet really have a model for MCP, or more generally for transformative use of content by AI. For example, if an AI uses my credentials to retrieve academic papers and produces a literature review, what encumbrances apply to the results? There is a lot of work to be done here.
It’s easy to be amazed by the magic of vibe coding. But treating the LLM as a code generator that takes input in English or other human languages and produces Python, TypeScript, or Java echoes the use of a traditional compiler or interpreter to generate byte code. It reads what we call a “higher-level language” and translates it into code that operates further down the stack. And there’s a historical lesson in that analogy. In the early days of compilers, programmers had to inspect and debug the generated assembly code, but eventually the tools got good enough that few people need to do that any more. (In my own career, when I was writing the manual for Lightspeed C, the first C compiler for the Mac, I remember Mike Kahl, its creator, hand-tuning the compiler output as he was developing it.)
Now programmers are increasingly finding themselves having to debug the higher-level code generated by LLMs. But I’m confident that will become a smaller and smaller part of the programmer’s role. Why? Because eventually we come to depend on well-tested components. I remember how the original Macintosh user interface guidelines, with predefined user interface components, standardized frontend programming for the GUI era, and how the Win32 API meant that programmers no longer needed to write their own device drivers. In my own career, I remember working on a book about curses, the Unix cursor-manipulation library for CRT screens, and a few years later the manuals for Xlib, the low-level programming interfaces for the X Window System. This kind of programming soon was superseded by user interface toolkits with predefined elements and actions. So too, the roll-your-own era of web interfaces was eventually standardized by powerful frontend JavaScript frameworks.
Once developers come to rely on libraries of preexisting components that can be combined in new ways, what developers are debugging is no longer the lower-level code (first machine code, then assembly code, then hand-built interfaces) but the architecture of the systems they build, the connections between the components, the integrity of the data they rely on, and the quality of the user interface. In short, developers move up the stack.
LLMs and AI agents are calling for us to move up once again. We are groping our way towards a new paradigm in which we are not just building MCPs as instructions for AI agents but developing new programming paradigms that blend the rigor and predictability of traditional programming with the knowledge and flexibility of AI. As Phillip Carter memorably noted, LLMs are inverted computers relative to those with which we’ve been familiar: “We’ve spent decades working with computers that are incredible at precision tasks but need to be painstakingly programmed for anything remotely fuzzy. Now we have computers that are adept at fuzzy tasks but need special handling for precision work.” That being said, LLMs are becoming increasingly adept at knowing what they are good at and what they aren’t. Part of the whole point of MCP and skills is to give them clarity about how to use the tools of traditional computing to achieve their fuzzy aims.
Consider the evolution of agents from those based on “browser use” (that is, working with the interfaces designed for humans) to those based on making API calls (that is, working with the interfaces designed for traditional programs) to those based on MCP (relying on the intelligence of LLMs to read documents that explain the tools that are available to do a task). An MCP server looks a lot like the formalization of prompt and context engineering into components. A look at what purports to be a leaked system prompt for ChatGPT suggests that the pattern of MCP servers was already hidden in the prompts of proprietary AI apps: “Here’s how I want you to act. Here are the things that you should and should not do. Here are the tools available to you.”
But while system prompts are bespoke, MCP and skills are a step towards formalizing plain text instructions to an LLM so that they can become reusable components. In short, MCP and skills are early steps towards a system of what we can call “fuzzy function calls.”
This view of how prompting and context engineering fit with traditional programming connects to something I wrote about recently: LLMs natively understand high-level concepts like “plan,” “test,” and “deploy”; industry standard terms like “TDD” (Test Driven Development) or “PRD” (Product Requirements Document); competitive features like “study mode”; or specific file formats like “.md file.” These “magic words” are prompting shortcuts that bring in dense clusters of context and trigger particular patterns of behavior that have specific use cases.
But right now, these magic words are unmodifiable. They exist in the model’s training, within system prompts, or locked inside proprietary features. You can use them if you know about them, and you can write prompts to modify how they work in your current session. But you can’t inspect them to understand exactly what they do, you can’t tweak them for your needs, and you can’t share your improved version with others.
Skills and MCPs are a way to make magic words visible and extensible. They formalize the instructions and patterns that make an LLM application work, and they make those instructions something you can read, modify, and share.
Take ChatGPT’s study mode as an example. It’s a particular way of helping someone learn, by asking comprehension questions, testing understanding, and adjusting difficulty based on responses. That’s incredibly valuable. But it’s locked inside ChatGPT’s interface. You can’t even access it via the ChatGPT API. What if study mode was published as a skill? Then you could:
This is the next level of AI programming “up the stack.” You’re not training models or vibe coding Python. You’re elaborating on concepts the model already understands, more adapted to specific needs, and sharing them as building blocks others can use.
Building reusable libraries of fuzzy functions is the future of open source AI.
There’s a deeper pattern here that connects to a rich tradition in economics: mechanism design. Over the past few decades, economists like Paul Milgrom and Al Roth won Nobel Prizes for showing how to design better markets: matching systems for medical residents, spectrum auctions for wireless licenses, kidney exchange networks that save lives. These weren’t just theoretical exercises. They were practical interventions that created more efficient, more equitable outcomes by changing the rules of the game.
Some tech companies understood this. As chief economist at Google, Hal Varian didn’t just analyze ad markets, he helped design the ad auction that made Google’s business model work. At Uber, Jonathan Hall applied mechanism design insights to dynamic pricing and marketplace matching to build a “thick market” of passengers and drivers. These economists brought economic theory to bear on platform design, creating systems where value could flow more efficiently between participants.
Though not guided by economists, the web and the open source software revolution were also not just technical advances but breakthroughs in market design. They created information-rich, participatory markets where barriers to entry were lowered. It became easier to learn, create, and innovate. Transaction costs plummeted. Sharing code or content went from expensive (physical distribution, licensing negotiations) to nearly free. Discovery mechanisms emerged: Search engines, package managers, and GitHub made it easy to find what you needed. Reputation systems were discovered or developed. And of course, network effects benefited everyone. Each new participant made the ecosystem more valuable.
These weren’t accidents. They were the result of architectural choices that made internet-enabled software development into a generative, participatory market.
AI desperately needs similar breakthroughs in mechanism design. Right now, most economic analysis of AI focuses on the wrong question: “How many jobs will AI destroy?” This is the mindset of an extractive system, where AI is something done to workers and to existing companies rather than with them. The right question is: “How do we design AI systems that create participatory markets where value can flow to all contributors?”
Consider what’s broken right now:
MCP and skills, viewed through this economic lens, are early-stage infrastructure for a participatory AI market. The MCP Registry and skills gallery are primitive but promising marketplaces with discoverable components and inspectable quality. When a skill or MCP server is useful, it’s a legible, shareable artifact that can carry attribution. While this may not redress the “original sin” of copyright violation during model training, it does perhaps point to a future where content creators, not just AI model creators and app developers, may be able to monetize their work.
But we’re nowhere near having the mechanisms we need. We need systems that efficiently match AI capabilities with human needs, that create sustainable compensation for contribution, that enable reputation and discovery, that make it easy to build on others’ work while giving them credit.
This isn’t just a technical challenge. It’s a challenge for economists, policymakers, and platform designers to work together on mechanism design. The architecture of participation isn’t just a set of values. It’s a powerful framework for building markets that work. The question is whether we’ll apply these lessons of open source and the web to AI or whether we’ll let AI become an extractive system that destroys more value than it creates.
I’d love to see OpenAI, Google, Meta, and the open source community develop a robust architecture of participation for AI.
Make innovations inspectable. When you build a compelling feature or an effective interaction pattern or a useful specialization, consider publishing it in a form others can learn from. Not as a closed app or an API to a black box but as instructions, prompts, and tool configurations that can be read and understood. Sometimes competitive advantage comes from what you share rather than what you keep secret.
Support open protocols. MCP’s early success demonstrates what’s possible when the industry rallies around an open standard. Since Anthropic introduced it in late 2024, MCP has been adopted by OpenAI (across ChatGPT, the Agents SDK, and the Responses API), Google (in the Gemini SDK), Microsoft (in Azure AI services), and a rapidly growing ecosystem of development tools from Replit to Sourcegraph. This cross-platform adoption proves that when a protocol solves real problems and remains truly open, companies will embrace it even when it comes from a competitor. The challenge now is to maintain that openness as the protocol matures.
Create pathways for contribution at every level. Not everyone needs to fork model weights or even write MCP servers. Some people should be able to contribute a clever prompt template. Others might write a skill that combines existing tools in a new way. Still others will build infrastructure that makes all of this easier. All of these contributions should be possible, visible, and valued.
Document magic. When your model responds particularly well to certain instructions, patterns, or concepts, make those patterns explicit and shareable. The collective knowledge of how to work effectively with AI shouldn’t be scattered across X threads and Discord channels. It should be formalized, versioned, and forkable.
Reinvent open source licenses. Take into account the need for recognition not only during training but inference. Develop protocols that help manage rights for data that flows through networks of AI agents.
Engage with mechanism design. Building a participatory AI market isn’t just a technical problem, it’s an economic design challenge. We need economists, policymakers, and platform designers collaborating on how to create sustainable, participatory markets around AI. Stop asking “How many jobs will AI destroy?” and start asking “How do we design AI systems that create value for all participants?” The architecture choices we make now will determine whether AI becomes an extractive force or an engine of broadly shared prosperity.
The future of programming with AI won’t be determined by who publishes model weights. It’ll be determined by who creates the best ways for ordinary developers to participate, contribute, and build on each other’s work. And that includes the next wave of developers: users who can create reusable AI skills based on their special knowledge, experience, and human perspectives.
We’re at a choice point. We can make AI development look like app stores and proprietary platforms, or we can make it look like the open web and the open source lineages that descended from Unix. I know which future I’d like to live in.
Radar Trends to Watch: December 2025 [Radar]
November ended. Thanksgiving (in the US), turkey, and a train of model announcements. The announcements were exciting: Google’s Gemini 3 puts it in the lead among large language models, at least for the time being. Nano Banana Pro is a spectacularly good text-to-image model. OpenAI has released its heavy hitters, GPT-5.1-Codex-Max and GPT-5.1 Pro. And the Allen Institute released its latest open source model, Olmo 3, the leading open source model from the US.
Since Trends avoids deal-making (should we?), we’ve also avoided the angst around an AI bubble and its implosion. Right now, it’s safe to say that the bubble is formed of money that hasn’t yet been invested, let alone spent. If it is a bubble, it’s in the future. Do promises and wishes make a bubble? Does a bubble made of promises and wishes pop with a bang or a pffft?
Mamdani criticises Israel's crimes [Richard Stallman's Political Notes]
Zohran Mamdani is blazing a trail for criticism of Israel's crimes in New York City.
BBC forbids criticism of Trump [Richard Stallman's Political Notes]
The BBC has ordered its presenters , when reporting on how it deleted some words from a speech it was going to broadcast, that they are forbidden to say what those words were.
They were, "The most openly corrupt president in American history".
Ultra-rich reshaping British politics [Richard Stallman's Political Notes]
How rich people dominate British politics, notwithstanding that it is suppose to be democratic.
You can see the results in the Labour Party's mostly right-wing policies, which they maintain despite what their voters want.
Canada oil pipeline deal [Richard Stallman's Political Notes]
Canada's new version of planet-roaster government has decided to push through another pipeline for exporting tar sands oil.
The party was re-elected because it stood up to the bully, but in regard to actual political issues it is plutocratist.
UK criminal cases backlog [Richard Stallman's Political Notes]
*The [UK] criminal cases backlog requires radical action, but the problem has been caused by government cuts , not by an ancient and fundamental liberty [the right to a jury trial].*
No peace without conquest [Richard Stallman's Political Notes]
Putin says, no peace without conquest of territory.
Like Social Media, AI Requires Difficult Choices [Schneier on Security]
In his 2020 book, “Future Politics,” British barrister Jamie Susskind wrote that the dominant question of the 20th century was “How much of our collective life should be determined by the state, and what should be left to the market and civil society?” But in the early decades of this century, Susskind suggested that we face a different question: “To what extent should our lives be directed and controlled by powerful digital systems—and on what terms?”
Artificial intelligence (AI) forces us to confront this question. It is a technology that in theory amplifies the power of its users: A manager, marketer, political campaigner, or opinionated internet user can utter a single instruction, and see their message—whatever it is—instantly written, personalized, and propagated via email, text, social, or other channels to thousands of people within their organization, or millions around the world. It also allows us to individualize solicitations for political donations, elaborate a grievance into a well-articulated policy position, or tailor a persuasive argument to an identity group, or even a single person.
But even as it offers endless potential, AI is a technology that—like the state—gives others new powers to control our lives and experiences.
We’ve seen this out play before. Social media companies made the same sorts of promises 20 years ago: instant communication enabling individual connection at massive scale. Fast-forward to today, and the technology that was supposed to give individuals power and influence ended up controlling us. Today social media dominates our time and attention, assaults our mental health, and—together with its Big Tech parent companies—captures an unfathomable fraction of our economy, even as it poses risks to our democracy.
The novelty and potential of social media was as present then as it is for AI now, which should make us wary of its potential harmful consequences for society and democracy. We legitimately fear artificial voices and manufactured reality drowning out real people on the internet: on social media, in chat rooms, everywhere we might try to connect with others.
It doesn’t have to be that way. Alongside these evident risks, AI has legitimate potential to transform both everyday life and democratic governance in positive ways. In our new book, “Rewiring Democracy,” we chronicle examples from around the globe of democracies using AI to make regulatory enforcement more efficient, catch tax cheats, speed up judicial processes, synthesize input from constituents to legislatures, and much more. Because democracies distribute power across institutions and individuals, making the right choices about how to shape AI and its uses requires both clarity and alignment across society.
To that end, we spotlight four pivotal choices facing private and public actors. These choices are similar to those we faced during the advent of social media, and in retrospect we can see that we made the wrong decisions back then. Our collective choices in 2025—choices made by tech CEOs, politicians, and citizens alike—may dictate whether AI is applied to positive and pro-democratic, or harmful and civically destructive, ends.
The Federal Election Commission (FEC) calls it fraud when a candidate hires an actor to impersonate their opponent. More recently, they had to decide whether doing the same thing with an AI deepfake makes it okay. (They concluded it does not.) Although in this case the FEC made the right decision, this is just one example of how AIs could skirt laws that govern people.
Likewise, courts are having to decide if and when it is okay for an AI to reuse creative materials without compensation or attribution, which might constitute plagiarism or copyright infringement if carried out by a human. (The court outcomes so far are mixed.) Courts are also adjudicating whether corporations are responsible for upholding promises made by AI customer service representatives. (In the case of Air Canada, the answer was yes, and insurers have started covering the liability.)
Social media companies faced many of the same hazards decades ago and have largely been shielded by the combination of Section 230 of the Communications Act of 1994 and the safe harbor offered by the Digital Millennium Copyright Act of 1998. Even in the absence of congressional action to strengthen or add rigor to this law, the Federal Communications Commission (FCC) and the Supreme Court could take action to enhance its effects and to clarify which humans are responsible when technology is used, in effect, to bypass existing law.
As AI-enabled products increasingly ask Americans to share yet more of their personal information—their “context“—to use digital services like personal assistants, safeguarding the interests of the American consumer should be a bipartisan cause in Congress.
It has been nearly 10 years since Europe adopted comprehensive data privacy regulation. Today, American companies exert massive efforts to limit data collection, acquire consent for use of data, and hold it confidential under significant financial penalties—but only for their customers and users in the EU.
Regardless, a decade later the U.S. has still failed to make progress on any serious attempts at comprehensive federal privacy legislation written for the 21st century, and there are precious few data privacy protections that apply to narrow slices of the economy and population. This inaction comes in spite of scandal after scandal regarding Big Tech corporations’ irresponsible and harmful use of our personal data: Oracle’s data profiling, Facebook and Cambridge Analytica, Google ignoring data privacy opt-out requests, and many more.
Privacy is just one side of the obligations AI companies should have with respect to our data; the other side is portability—that is, the ability for individuals to choose to migrate and share their data between consumer tools and technology systems. To the extent that knowing our personal context really does enable better and more personalized AI services, it’s critical that consumers have the ability to extract and migrate their personal context between AI solutions. Consumers should own their own data, and with that ownership should come explicit control over who and what platforms it is shared with, as well as withheld from. Regulators could mandate this interoperability. Otherwise, users are locked in and lack freedom of choice between competing AI solutions—much like the time invested to build a following on a social network has locked many users to those platforms.
It has become increasingly clear that social media is not a town square in the utopian sense of an open and protected public forum where political ideas are distributed and debated in good faith. If anything, social media has coarsened and degraded our public discourse. Meanwhile, the sole act of Congress designed to substantially reign in the social and political effects of social media platforms—the TikTok ban, which aimed to protect the American public from Chinese influence and data collection, citing it as a national security threat—is one it seems to no longer even acknowledge.
While Congress has waffled, regulation in the U.S. is happening at the state level. Several states have limited children’s and teens’ access to social media. With Congress having rejected—for now—a threatened federal moratorium on state-level regulation of AI, California passed a new slate of AI regulations after mollifying a lobbying onslaught from industry opponents. Perhaps most interesting, Maryland has recently become the first in the nation to levy taxes on digital advertising platform companies.
States now face a choice of whether to apply a similar reparative tax to AI companies to recapture a fraction of the costs they externalize on the public to fund affected public services. State legislators concerned with the potential loss of jobs, cheating in schools, and harm to those with mental health concerns caused by AI have options to combat it. They could extract the funding needed to mitigate these harms to support public services—strengthening job training programs and public employment, public schools, public health services, even public media and technology.
A pivotal moment in the social media timeline occurred in 2006, when Facebook opened its service to the public after years of catering to students of select universities. Millions quickly signed up for a free service where the only source of monetization was the extraction of their attention and personal data.
Today, about half of Americans are daily users of AI, mostly via free products from Facebook’s parent company Meta and a handful of other familiar Big Tech giants and venture-backed tech firms such as Google, Microsoft, OpenAI, and Anthropic—with every incentive to follow the same path as the social platforms.
But now, as then, there are alternatives. Some nonprofit initiatives are building open-source AI tools that have transparent foundations and can be run locally and under users’ control, like AllenAI and EleutherAI. Some governments, like Singapore, Indonesia, and Switzerland, are building public alternatives to corporate AI that don’t suffer from the perverse incentives introduced by the profit motive of private entities.
Just as social media users have faced platform choices with a range of value propositions and ideological valences—as diverse as X, Bluesky, and Mastodon—the same will increasingly be true of AI. Those of us who use AI products in our everyday lives as people, workers, and citizens may not have the same power as judges, lawmakers, and state officials. But we can play a small role in influencing the broader AI ecosystem by demonstrating interest in and usage of these alternatives to Big AI. If you’re a regular user of commercial AI apps, consider trying the free-to-use service for Switzerland’s public Apertus model.
None of these choices are really new. They were all present almost 20 years ago, as social media moved from niche to mainstream. They were all policy debates we did not have, choosing instead to view these technologies through rose-colored glasses. Today, though, we can choose a different path and realize a different future. It is critical that we intentionally navigate a path to a positive future for societal use of AI—before the consolidation of power renders it too late to do so.
This post was written with Nathan E. Sanders, and originally appeared in Lawfare.
Mediocre means average [Seth's Blog]
Two different ways to consider this:
First, in the marketplace, where most people, most of the time, want the thing that most people want. The average one. Exceptional is the exception.
Second, in the committee meeting, where the easiest way forward is to sand off interesting edges, eliminate unknowns and challenge as little as possible.
When you put these together, you see the relentless slide toward banality.
For people who care enough to develop skill and bring bravery to the work, this is a huge opportunity. Not an easy or an obvious one, but perhaps one worth chasing.
We’re Doubling Down on Digital Rights. You Can, Too. [Deeplinks]
Technology can uplift democracy, or it can be an authoritarian weapon. EFF is making sure it stays on the side of freedom. We’re defending encryption, exposing abusive surveillance tech, fighting government overreach, and standing up for free expression. But we need your help to protect digital rights—and right now, your donation will be matched dollar-for-dollar.
Join EFF Today & Get a Free Donation Match
It’s Power Up Your Donation Week and all online contributions get an automatic match up to $302,700. Many thanks to the passionate EFF supporters who created this year's matching fund! The Power Up matching challenge offers a rare opportunity to double your impact on EFF’s legal, educational, advocacy, and free software work when it’s needed most. If you’ve been waiting for the right moment to give—this is it.
Digital rights are human rights. Governments have silenced online speech, corporations seek to exploit our data for profit, and police are deploying dystopian tools to track our every move. But the fight is far from over, with the support of EFF’s members.
How EFF is fighting back:
As an EFF member, you’ll have your choice of conversation-starting gear as a token of our thanks. Choose from stickers, EFF's 35th Anniversary Cityscape t-shirt, Motherboard hoodie, and more. You’ll also get a bonus Take Back CTRL-themed camera cover set with any member gift.
Will you donate today for privacy and free speech? Your gift will be matched for free, fueling the fight to stop tech from being a tyrant’s dream.
EFF Members have carried the movement for privacy and free expression for decades. You can help move the mission even further! Here’s some sample language that you can share with your networks:
Don't let democracy be undermined by tools of surveillance and control. Donate to EFF this week and you'll get an automatic match. https://eff.org/power-up
Bluesky
| Facebook
|
LinkedIn | Mastodon
(More at eff.org/social)
_________________
EFF is a member-supported U.S. 501(c)(3) organization. We’re celebrating TWELVE YEARS of top ratings from the nonprofit watchdog Charity Navigator! Your donation is tax-deductible as allowed by law.
François Marier: Recovering from a broken update on the Turris Omnia [Planet Debian]
The recent Turris OS update from 7.2.3 to 9.0.0 took down my WiFi entirely. The wired network still works fine, but wireless is completely broken.
It turns out the Omnia has an extensive (and fast) factory reset / recovery mode via the hardware reset button.
Unfortunately, the factory image didn't work for me, possibly because I don't use the stock WiFi radios anymore.
Thanks to the fact that the Omnia uses a btrfs root filesystem, and the liberal use of snapshots around updates, I was able to rollback to the pre-9.0.0 state.
First, I connected to the router using ssh:
ssh root@192.168.1.1
Then I listed the available snapshots:
$ schnapps list
# | Type | Size | Date | Description
------+-----------+-------------+-----------------------------+------------------------------------
500 | post | 15.98MiB | 2025-08-09 11:27:48 -0700 | Automatic post-update snapshot (TurrisOS 7.2.2 - hbs)
506 | pre | 17.92MiB | 2025-09-12 03:44:32 -0700 | Automatic pre-update snapshot (TurrisOS 7.2.2 - hbs)
507 | post | 17.88MiB | 2025-09-12 03:45:14 -0700 | Automatic post-update snapshot (TurrisOS 7.2.3 - hbs)
515 | time | 20.03MiB | 2025-11-02 01:05:01 -0700 | Snapshot created by cron
516 | time | 20.05MiB | 2025-11-09 01:05:01 -0800 | Snapshot created by cron
517 | time | 20.29MiB | 2025-11-16 01:05:00 -0800 | Snapshot created by cron
518 | time | 20.64MiB | 2025-11-23 01:05:01 -0800 | Snapshot created by cron
519 | time | 20.83MiB | 2025-11-30 01:05:00 -0800 | Snapshot created by cron
520 | pre | 87.91MiB | 2025-11-30 07:41:10 -0800 | Automatic pre-update snapshot (TurrisOS 7.2.3 - hbs)
521 | post | 196.32MiB | 2025-11-30 07:48:11 -0800 | Automatic post-update snapshot (TurrisOS 9.0.0 - hbs)
523 | pre | 4.44MiB | 2025-11-30 20:47:31 -0800 | Automatic pre-update snapshot
524 | post | 224.00KiB | 2025-11-30 20:47:43 -0800 | Automatic post-update snapshot
525 | rollback | 224.00KiB | 2025-12-01 04:56:32 +0000 | Rollback to snapshot factory
526 | pre | 4.44MiB | 2025-11-30 21:04:19 -0800 | Automatic pre-update snapshot
527 | post | 272.00KiB | 2025-11-30 21:04:31 -0800 | Automatic post-update snapshot
528 | rollback | 272.00KiB | 2025-12-01 05:13:38 +0000 | Rollback to snapshot factory
529 | pre | 4.52MiB | 2025-11-30 21:28:44 -0800 | Automatic pre-update snapshot
530 | single | 208.00KiB | |
531 | rollback | 224.00KiB | 2025-12-01 05:29:47 +0000 | Rollback to snapshot factory
Finally, I rolled back to the exact state I was on before the 9.0.0 update:
$ schnapps rollback 520
Current state saved as snapshot number 532
Rolled back to snapshot 520
As an aside, it turns out that the factory reset functionality is implemented as a brtfs rollback to a special factory snapshot. This is why is so fast, but it also means that doing a simple factory reset doesn't wipe the data on your router. If you are planning to sell your device or otherwise dispose of it, you also need to delete all btrfs snapshots
While this update was very disappointing, especially since it's never happened before with major updates on Turris OS, it made me discover just how great the recovery tools are. It would be pretty tricky to fully brick one of these devices.
The December Comfort Watches 2025, Day One: K-Pop Demon Hunters [Whatever]

A couple of years ago I did a series of movie reviews about the movies I enjoy rewatching — not the best movies of all time, or the most important movies, but the ones I’m happy to spend time with, and which I put on when I want to revisit that world, or the characters, or when that film has something about it that resonates for me.
Because I wrote the series in December, which is also the month I generally have time to schlump on the couch and actually watch a bunch of movies, I called the series “The December Comfort Watches,” one a day for the whole month. Now that it’s December again, and I still have a bunch of other movies I like watching that I want to write about, I thought I’d do a second run of the series: 31 new movies (not actually new movies, but new to the series) and what about them makes them so rewatchable.
And to start us off, let me pick the actual newest movie to this list: K-Pop Demon Hunters.
It’s safe to say no one expected K-Pop Demon Hunters. Certainly Sony Animation didn’t — rather than release the movie theatrically, they shunted it over to Netflix as part of a COVID-era distribution deal, which, while covering Sony’s production costs and adding a little extra for profit, meant that the movie’s financial upside would be capped for the studio. Not great for Sony, but great for Netflix… or it would have been, had Netflix done any actual thing to promote the movie. It really didn’t; there was no buzz whatsoever for the movie when it slipped onto the service on June 20, 2025. If I were the filmmakers, particularly directors Maggie Kang and Chris Applehans, I would have been tearing my hair out about this. Years of work, and then your baby is just sort of plopped out onto the streaming sidewalk, to live or die, whichever.
In this one case, however, this institutional if not neglect then at least indifference meant that K-Pop Demon Hunters could become a thing that is so rarely seen anymore as to be near-miraculous: An actual grassroots, word-of-mouth hit, the sort where the people who have found it sort of climb over each other to tell all their friends about it, and then they tell their friends, and so on, and so on. By August, K-Pop Demon Hunters was a sensation; by September, it was an actual phenomenon, becoming Netflix’s most watched movie ever, and ruling the Billboard and international single and album charts until Taylor Swift came along in October to ruin their fun.
By now, the story of the film is known to everyone not living under a literal rock: The K-Pop band Huntr/x (pronounced “Huntrix”) is a chart-topping girl group with a powerhouse belter (Rumi), a drop-dead sarcastic choreographer (Mira) and a bubbly, goofy lyricist (Zoey) with millions of fans and the sort of skyscraper penthouse apartment that would put Tony Stark to shame. They also, in their spare time, keep the human world safe from an onslaught of underworldly demons, first by using their songs to strengthen a force field called the “Honmoon” that keeps most of the demons sealed off, and then by brutally (but bloodlessly, this is a family film) slaughtering any demons that do manage to slip through.
All of this is covered in the film’s frankly terrific first act, which has the group fighting a pack of demons on the airplane taking them to their final world tour show. The demons have taken over the plane, all the better to murder the band, but the band is having none of that. So then the demons tear up the plane, which again does not work the way they want it to. In a few short minutes, we understand the concept and the stakes, get acquainted with our heroes and get the broad strokes of their personalities, and then get a music video with a bangin’ “meet the band” tune that also doubles as a tightly choreographed fight scene — which is also funnier than I think anyone could have reasonably expected it to be.
All of this certainly took me by surprise when I saw the movie for the first time in June. After having watched that introductory sequence and being knocked out by it, I was actually angry at Netflix and Sony for not banging the drum about this movie and leaving me to find out about it from Reddit, of all places. In retrospect, this ended up not being a problem for the movie. But at the time it seemed unfathomable that something this good, this smartly assembled and designed, would just be left for people to find, or not.
(If you want to argue with me that Netflix did know what it had on its hands, let me offer you the one piece of evidence they did not: For the first few months of the movie’s existence, there was close to zero actual licensed merchandise. Sure, you could get K-Pop Demon Hunters t-shirts and merch; it was just all unauthorized. Netflix is still catching up on this stuff. At least they were smart enough to release a sing-along version to theaters a couple months after release, which netted the streamer roughly $20 million in nearly pure profit.)
K-Pop Demon Hunters functions fabulously as an action-oriented animated musical, but what makes it rewatchable are the character interactions. First and most notably, the relationship between Rumi, Mira and Zoey, all of whom are allowed to be flawed (Rumi is a controlling workaholic! Mira is a barely-contained rage monster! Zoey is an ADHD-brained chipmunk!) but all of whom actually love each other and who mostly understand that together they are more than the sum of their parts. It’s weird, and possibly tragic, that it takes an animated movie to show us a trio of young women who are allowed to be less than perfect, that is, when they’re not saving the world and/or being the biggest pop group on the planet.
But wait! There’s a whole other subplot with its own relationship drama! That’s between Rumi and Jinu, the latter being the leader of a boy band made of… demons! Yes! Who come to Earth to steal Huntr/x’s fans so the Honmoon will remained unsealed! (I’m not going to over-explain it here; it makes sense when you watch it.) Rumi and Jinu both have their secrets, a fact which ends up creating the most adorable trauma-bond ever, complete with an emotion-laden-yet-deeply-chaste love song duet. It’s the stuff fan mashups are made of, a thing the film is very much aware of.
Indeed, another thing the film does a very good job of showing is the fan/band dynamic, and what it means to be a pop star here in the third decade of the 21st century. Observers more knowledgeable than I have praised how the movie is deeply rooted into the specific setting of Korea and its pop culture (the movie takes place in that nation, a fact which vaguely astounds me; I assume someone somewhere had to resist a corporate note to move the action to the US, and good for them to have done so). I’m willing to accept their word that the movie is Korean at heart, and yet there is enough about the pop culture dynamic that is universal that even a relative newbie to K-Pop as myself understands the currents these characters are swimming in. It would be a little much to say any of this is realistic, but then, this is a movie with demons. It’s okay for it to be a fable.
There’s so much of this movie that feels like a fable, not confined to the actual story on the screen. For example, the story of EJAE, who co-wrote several of the movie’s songs, including the global #1 hit “Golden,” and who provided the singing voice for Rumi, in the process astounding legions of YouTube music vloggers by being able to hit an A5 note like it was no big deal. EJAE spent years in the K-Pop ecosystem, training to become part of a K-Pop band and never quite making it and eventually leaving that world behind. And now here she is, having co-written and performed arguably the biggest K-Pop song ever, certainly the biggest K-Pop song featuring a girl band (on “Golden” and other Huntr/x songs, EJAE sings with Audrey Nuna and Rei Ami, who provide the singing voices of Mira and Zoey, respectively). It’s a story as compelling as the story of the movie, and inextricably intertwined with it.
Again: Safe to say no one expected K-Pop Demon Hunters, and yet here less than six months after its release it’s hard to think of 2025 without it. It’s the year’s actual pop phenomenon, one that wasn’t forced on us, or that tens of millions of dollars were spent on to make it happen. It happened because people just plain liked it — liked the movie, liked the music, liked the characters and liked the way it make them feel. How often do we get that anymore? Not enough. I’d like it again sometime. In the meantime, K-Pop Demon Hunters will do.
— JS

gasp
GNU Guile 3.0.11 released [Planet GNU]
We are pleased to announce the release of GNU Guile 3.0.11! This release is mainly a bug-fix release, though it does include a number of new features, including support for SRFI 197: Pipeline Operators, support for SRFI 207: String-notated bytevectors (bytestrings), and JIT (just-in-time) compilation for the RISC-V architecture.
It also overhauls SRFI-64 (testing) and includes many other improvements. For full details, see the release notes and check out the download page.
Happy Guile hacking!
Urgent: End the Gaza genocide [Richard Stallman's Political Notes]
US citizens: support Rashida Tlaib's resolution to acknowledge and put an end to the genocide in Gaza.
The main switchboard is +1-202-224-3121. If you message Congress, please spread the word!
KOSA will be used to censor LGBTQ [Richard Stallman's Political Notes]
The internet mandatory user-identification bill, KOSA, will provide right-wing officials a means to block access to information about queer people.
Democrats who support the bill don't realize that.
Trump is hiding economic reports [Richard Stallman's Political Notes]
*Why Is [the corrupter] Trump Hiding Economic Reports?*
It might be due to the shutdown. If so, the reports should resume soon. But one agency canceled some reports back in the summer. Speculation that he is trying to hide from Americans how much economic damage he has done to the US.
Trump designates supposed terrorist groups [Richard Stallman's Political Notes]
To support his claims about "antifa" as a terrorist group, the bullshitter is trying to create a legend: he has arbitrarily designated a few names of supposed foreign terrorist groups, as magical "proof" that they are real terrorists.
*"The whole thing is a bit ridiculous," said Heidi Beirich, co-founder of the Global Project Against Hate and Extremism, which tracks extremist movements worldwide, "because the groups designated by the administration barely exist and certainly aren’t terrorists."*
BBC censors criticism of Trump [Richard Stallman's Political Notes]
The BBC has become terrified of the bully's libel lawsuit threat, and is trying secretly to censor its broadcasts to avoid irritating him.
The BBC should stop distributing its broadcasts through any US companies, rather than cover up criticism of the bully.
Marine animals vulnerable to noise from ships [Richard Stallman's Political Notes]
*Noise from ships can disrupt the animals' ability to communicate and find food.*
The food system a climate disaster [Richard Stallman's Political Notes]
We know how end fossil fuels, even if we aren't pushing hard to do it. But we are in an early stage of figuring out how to make our food without greenhouse emissions.
Last Month This Month [The Stranger]
All the Government Shutdowns, Sketchy Surveillance, and New Mayors You May Have Missed in November by The Stranger's Slog AM™️ Specialists
Last Month This Month is a recap of all the previous month's news, featuring headlines from Slog AM. Find it in every issue of The Stranger! Subscribe to our daily Slog AM newsletter here.
* * *
Katie Wilson is the new mayor. After being edged and edged and edged by King County Elections’ slow, sensuous ballot-counting method, Wilson came out just over 2,000 votes ahead. Our crotches ache, and it’s not a mandate, but at least Bruce Harrell isn’t going to yell at us anymore. That was even harder to come to. If you have a heart, please consider donating to the Bruce Harrell Coping Society. They only have millions of dollars to make the pain go away.
* * *
Much to the disappointment of corporate simps and adult baby
milkshake lovers,
Wilson stood alongside striking Starbucks workers.
Those silly workers want things like benefits and
a resolution on more than 700 unfair labor practice claims.
* * *
Trump found out who Katie Wilson was, called her a “beauty,” and then threatened to take away our precious FIFA World Cup because she was a liberal, or a communist. Everyone else called her a socialist.
* * *
Wilson is not a socialist, as a number of headlines (and Wilson herself) claims. She is a democratic socialist. Democratic socialists want to counter the failures of capitalism. Socialists wanna abolish the capitalist class altogether. It’s making the rich split the dinner bill instead of eating them for dinner.
* * *
City council approved non-socialist Harrell’s last budget. Don’t worry, conservatives, they left plenty of extra money to hire cops and scrub graffiti. And as a treat, it left a maze of fiscal cliffs for Wilson to fall off of.
* * *
We like Wilson, but we’re kind of jealous of New York City for electing Zohran Mamdani. That vision? That charisma? That smokin’ hot wife? Mamdani even rizzed up Donald Trump, who, within hours of meeting him, dressed tastefully for the first time in his life. “You can say it,” Trump said, giving Mamdani a pass to say the f-word (call him a fascist) with a pat on the arm.
* * *
Trump said six Democrat military veteran lawmakers (could? should?) be killed for the “seditious” act of telling the troops to disobey unconstitutional orders. That fucking f-word is earning his label every damn day.
* * *
To celebrate Mamdani’s mayoral victory in his own special way, Dick Cheney died. Cheney was a classically evil man who presided over the Iraq War and all the terrorism we did to combat terrorism.
* * *
A UPS cargo plane crashed in a fireball on the runway in Louisville, Kentucky, killing 14 people and injuring 23 more. Ideally, planes should not do this.
* * *
Let’s not forget the despicable shutdown the numbskull Feds put us through: thousands of flight cancellations. Not paying federal workers. A tug-of-war will-they-won’t-they of food stamps funding between people with souls and Trump and the Trump Supreme Court.
* * *
The US did not attend the UN’s climate talks in Brazil. We were too busy making pain and misery. Trump’s emissions-first policies could cause an additional 1.3 million temperature-related deaths in the 80 years after 2035. But hey, that’s a problem for Emperor Barron Trump II, Mecha Putin, and Martian President Zorp.
* * *
The Seattle Fire Department’s former head of human resources alleges she was fired for trying to address on-duty drinking, sexual harassment, unsafe behavior, and someone slashing a female firefighter’s uniform with a box cutter. She wants $2.5 million from the city.
* * *
There’s gonna be a new small local bookstore downtown. It’s called Barnes & Noble. Time for a You’ve Got Mail reboot, but Tom Hanks is the good guy. And Jeff Bezos falls in love with him and they get down crazy style in a Blue Origin spaceship? Yes.
* * *
University of Washington star soccer goalkeeper Mia Hamant died after fighting a rare kidney cancer for seven months. She was 21. Since Mia’s death, the UW soccer team can’t stop winning. At press time, they were headed to the NCAA’s elite 8. Our dubs are so up.
* * *
A jury of his peers found Sean Dunn, the former Justice Department paralegal, not guilty of a misdemeanor for chucking his Subway sandwich at federal agents this summer. The ridiculous case where a federal agent described it exploding on his bulletproof vest (he could smell the onions, the mustard) is funny, until you think about it. The government went to a lot of effort to convict this guy for a silly crime.
* * *
The Congressional Budget Office was hacked, possibly by a “foreign actor.” Was it Ralph Fiennes?
* * *
The Louvre Heist, during which thieves made off with $102 million in jewels, showed us something amazing about the French approach to IT. According to an employee, the password for the security system for the most famous art museum in the world was simply “Louvre.”
* * *
And a French cyclist showed us something amazing about the French body. The 77-year-old man survived a fall down a 130-foot ravine. He was stuck for three days, and gained life force by suckling from the red wine he’d been toting in his grocery bags.
* * *
France also showed us where they draw the line. The country ruined the grand opening of Shein’s first physical store in Paris when it suspended online sales over the prepubescent, “childlike” sex dolls on its website. Looking at them ruined our morning.
* * *
Far-right Rep. Clay Higgins (R-Louisiana) isn’t doing his part in the War on Pedos. He became the loneliest boy in Congress when he voted against releasing the Epstein files. Literally everyone else in the House and Senate voted to release them.
* * *
A judge dismissed indictments against former FBI Director James Comey and New York Attorney General Letitia James because Trump appointed his prosecutor illegally. They should take themselves to court for being idiots.
* * *
The watchful Feds have released the facial recognition app Mobile Identify so local law enforcement can help them round up immigrants. Jake Laperruque, deputy director of the Center for Democracy & Technology’s Security and Surveillance Project, told 404 Media that handing this helltool to police is “like asking a 16-year-old who just failed their drivers exams to pick a dozen classmates to hand car keys to.”
* * *
Redmond shut off its AI-powered license plate scanners run by Flock—a private company that can’t be trusted to keep its data from Immigration and Customs Enforcement—after agents arrested seven people in the Eastside suburb.
* * *
Our capacity for imperial violence has gone too far, even for England. The UK stopped sharing intelligence about boats in the Caribbean because they don’t want us to blow them up. According to CNN, the British think our judge, jury, and executioner act is illegal.
* * *
For sale, historic funeral home, regularly used. Three months after an alleged arson turned the historic Columbia Funeral Home and Crematory to ash, the property is for sale. It’s going for a cool $7.5 million. Anyone in need of some ghost roommates?
* * *
After he helped to get the Mariners closer to the World Series than they’ve ever been while the birth of his first child was imminent, first baseman Josh Naylor’s contract ended. Surprising fans, management actually invested in the team. Naylor’s got a five-year contract. He wanted to stick around for the Mariners’ team dog, Tucker. Way to go, dudes.
* * *
King County Exec-Elect Girmay Zahilay reportedly plans to fire about 100 people in appointed positions in his office. Some of them will be invited to reapply—a tradition for the sake of morale. This turnover is normal, but shocking when you haven’t had a new executive in 16 years. At press time, Dow Constantine was playing with the toy trains in his office.
* * *
Two female coyotes have been living near the Washington Park Arboretum. There is no evidence that they’re lesbians, but the state killed one of them for getting too comfortable around people, and that does sound like an Oscar-winning lesbo script circa 1997.
Stranger Suggests: A Singer-Songwriter Obsessed with Weddings, One Half of 'Las Culturistas,' and a Holiday Pop-Up Bar that Doesn’t Suck [The Stranger]
One really great thing to do every day of the week. by Julianne Bell MONDAY 12/1
(MUSIC) Oslo-based pop singer Anna of the North knows a little something about finding joy in long, dark winters. The artist has been in the music game for a while, from having her 2015 debut single "Sway" remixed by the Chainsmokers to opening for Kygo's European tour and providing guest vocals for tracks on Tyler, the Creator's 2017 album Flower Boy. She's had two songs featured in the To All the Boys Netflix film series; her catchy track "Dream Girl" was also in an iPad commercial, and the 2017 single "Lovers" found new life on TikTok more recently. Her latest music has drifted toward danceable soul-inspired synthpop, promising a ridiculously fun live show. The singer has teased on social media that this could be her last US tour, so don't miss out. (Neumos, 7 pm, all ages) SHANNON LUBETICH
TUESDAY 12/2(COMEDY) John Waters is an icon—a pencil-thin moustache, dark sunglasses, a transgressive catalog of films, and an overall dedication to filth. But, on his string of novelty singles on Sub Pop Records (“Jingle Bells” / “It's a Punk Rock Christmas” and "John Waters Covers Little Cindy 'Happy Birthday Jesus'” / “A Pig Latin Visit from St. Nicholas”), Waters has an outlet to transform into new characters and direct himself à la Cindy Sherman. On “Happy Birthday Jesus,” Waters morphs into a little Christian girl from the South speaking directly to Jesus on Christmas night. On his cover of the Singing Dogs’ “Jingle Bells,” he splits into a pack of barking dogs, scaring away unwanted carolers and guests who have overstayed their welcome. I caught up with the legendary filmmaker, actor, writer, and artist ahead of his annual Christmas tour to discuss his upcoming stop in Seattle, his own Christmas traditions, and why he doesn’t want your stupid fruitcake. Gather around the electric chair, children, because the man with the bag has landed! Read the interview here! (The Neptune, 8 pm, all ages) AUDREY VANN
WEDNESDAY 12/3(MUSIC) I fell in love with Swedish musician Jens Lekman’s music the very first time I heard “You Are the Light (by Which I Travel Into This and That)” on KEXP as a teen and soon graduated to listening to a burned CD of his 2004 debut album When I Said I Wanted to Be Your Dog on repeat, becoming fixated on his melodramatic yearning and witty storytelling. The hopeless romantic has since fulfilled the prophecy he set for himself in the early track “If You Ever Need a Stranger (To Sing at Your Wedding),” in which he volunteered himself as a wedding singer: “You think it’s funny / My obsession with the holy matrimony / But I’m just so amazed to witness true love.” Since then, he’s performed at countless weddings, and his seventh album, Songs for Other People’s Weddings, is a narrative concept album inspired by his experience, accompanied by a tie-in novel by author David Levithan. (Neumos, 7 pm, all ages) JULIANNE BELL
THURSDAY 12/4
See author Megha Majumadar at Elliott Bay Book
Company Thursday.
(BOOKS) Kolkata-born author Megha Majumdar’s incendiary 2020 debut novel A Burning, which follows the story of an Indian woman who witnesses a terrorist attack on a train, became a New York Times bestseller and was longlisted for the National Book Award that year. Set in the near future of Kolkata, Majumdar’s sophomore novel A Guardian and a Thief tells the intertwining stories of Ma, whose purse containing crucial immigration documents is stolen just before her family’s move to America, and Boomba, the thief who is driven to crime out of his desperation to support his own family. Majumdar will drop by Elliott Bay to discuss her work with local writer Kim Fu, author of Lesser Known Monsters of the 21st Century. (Elliott Bay Book Company, 7 pm, free) JULIANNE BELL
FRIDAY 12/5Immortal Technique, w/Poison Pen & DJ Static, True II Form, Premium Smoke, DJ Indica Jones
(MUSIC) Felipe Andres Coronel, the Peruvian-bred, Harlem-hardened MC better known as Immortal Technique, is not touring in support of a new album—in fact, the rapper hasn’t released a full-length in roughly 15 years—however, his return to the stage does seem born of the same call to action that led him to release venomous underground-rap classics like Revolutionary Vol. 1 and 2 during the younger Bush presidency. During that time, Tech established himself as the militant mouthpiece of conscious rap, harvesting the revolutionary ethos of bands like Rage Against the Machine and Public Enemy, and cramming it through the meat grinder of the era’s energized battle-rap scene. In more recent years, he has done work counseling prison inmates (of which he was once one), and mentoring young writers, as well as partnering with a nonprofit group to help build an orphanage in Afghanistan. The man walks the walk, and for obvious reasons, there may not be a more appropriate and cathartic time to see an Immortal Technique show that will likely be peppered with political diatribes. We fully recommend you go get an earful. (Nectar Lounge, 8 pm, 21+) TODD HAMM
SATURDAY 12/6Matt Rogers: Christmas in December
(COMEDY) [Mariah Carey voice] “It’s tiiiime!” Mimi might be the holiday’s reigning queen, but comedian and actor Matt Rogers, cohost of your pop-culture-savvy queer friend’s favorite podcast Las Culturistas, has undoubtedly earned the title of “Pop Prince of Christmas” with his musical comedy TV special and album Have You Heard of Christmas? The hysterical romp features appearances from friends like Bowen Yang and MUNA and is the perfect antidote to Christmas fatigue with its joyfully irreverent take on Yuletide cheer. At his live performance at the Neptune, Rogers will perform songs like “God’s Up to His Tricks!” (in which he calls God a “stupid bitch”), “Lube for the Sleigh,” and “The Hottest Female Up in Whoville.” (Neptune Theatre, 8 pm, all ages) JULIANNE BELL
SUNDAY 12/7View this post on Instagram
(FOOD & DRINK) In 2014, New York bar owner Greg Boehm temporarily transformed his space into a kitschy Christmas wonderland replete with gewgaws and tchotchkes galore. Now, the pop-up has expanded to more than 100 locations all over the world and returns to Belltown’s Rob Roy. Beverages are housed in tacky-tastic vessels, bedecked with fanciful garnishes like peppers and dried pineapple, and christened with cheeky, pop- culture-referencing names like the “Bad Santa,” the “Yippie Ki Yay Mother F****r” (their asterisks, not ours), and the “You’ll Shoot Your Rye Out.” (Rob Roy, 4 pm–2 am, through December 25) JULIANNE BELL
Prizefight!
Win tickets to rad upcoming events!*
Bone Thugs-N-Harmony
January 9, the Crocodile
Contest ends December 8
I mean, I gotta make comics and stuff because it's a big part of my job. And Tim Sweeney and I probably wouldn't get along in real life; some people are literally too smart to talk to and I think he's probably one of them. I really, really want him to be wrong that AI will be involved in all future (game) production but I'm afraid he isn't.
[$] Checked-size array parameters in C [LWN.net]
There are many possible programmer mistakes that are not caught by the minimal checks specified by the C language; among those is passing an array of the wrong size to a function. A recent attempt to add some safety around array parameters within the crypto layer involved the use of some clever tricks, but it turns out that clever tricks are unnecessary in this case. There is an obscure C feature that can cause this checking to happen, and it is already in use in a few places within the kernel.
Windows drive letters are not limited to A-Z [OSnews]
On its own, the title of this post is just a true piece of trivia, verifiable with the built-in
substtool (among other methods).Here’s an example creating the drive
[…]+:\as an alias for a directory atC:\foo:The
[…]+:\drive then works as normal (at least in cmd.exe, this will be discussed more later):However, understanding why it’s true elucidates a lot about how Windows works under the hood, and turns up a few curious behaviors.
↫ Ryan Liptak
Fascinating doesn’t even begin to describe this article, but at the same time, it also makes me wonder at what point maintaining this drive letter charade becomes too burdensome, clunky, and complex. Internally, Windows NT does not use drive letters at all, but for the sake of backwards compatibility and to give the user what they expect, a whole set of abstractions has been crafted to create the illusion that modern versions of Windows still use the same basic drive letter conventions as DOS did 40 years ago.
I wonder if we’ll ever reach a point where Windows no longer uses drive letters, or if it’s possible today to somehow remove or disable these abstractions entirely, and run Windows NT without drive letters, as Cutler surely intended. Vast swaths of Windows programs would surely curl up in fetal position and die, including many core components of the operating system itself – as this article demonstrates, very few parts of Windows can handle even something as mundane as a drive letter outside of A-Z – but it’d make for a great experiment.
Someone with just the right set of Windows NT skills must’ve tried something like this at some point, either publicly or inside of Microsoft.
I was able to use my Android phone to get on the NYC subway
a few days ago. Turn the phone on, point it at the reader on the
turnstyle, and just keep walking. It's that fast and a lot better
than with the MetroCard. Sometimes
things do get better.
2014: "The great thing about the web is/was that I could create any feature I could implement without getting permission from anyone. Before the web, with compuserve or applelink, only employees of those companies could. Here we are again."
Migrating Dillo away from GitHub [OSnews]
What do you do if you develop a lightweight browser that doesn’t support JavaScript, but you once chose GitHub as the home for your code? You’re now in the unenviable position that your own browser can no longer access your own online source repository because it requires JavaScript, which is both annoying and, well, a little awkward. The solution is, of course, obvious: you move somewhere else.
That’s exactly what the Dillo browser did. They set up a small VPS, opted for cgit as the git frontend for its performance and small size, and for the bug tracker, they created a brand new, very simple bug tracker.
To avoid this problem, I created my own bug tracker software, buggy, which is a very simple C tool that parses plain Markdown files and creates a single HTML page for each bug. All bugs are stored in a git repository and a git hook regenerates the bug pages and the index on each new commit. As it is simply plain text, I can edit the bugs locally and only push them to the remote when I have Internet back, so it works nice offline. Also, as the output is just an static HTML site, I don’t need to worry about having any vulnerabilities in my code, as it will only run at build time.
↫ Rodrigo Arias Mallo
There’s more considerations detailed in the article about Dillo’s migration, and it can serve as inspiration for anyone else running a small open source project who wishes to leave GitHub behind. With GitHub’s continuing to add more and more complexity and “AI” to separate open source code from its licensing terms, we may see more and more projects giving GitHub the finger.
Landlock is a Linux API that lets applications explicitly declare which resources they are allowed to access. Its philosophy is similar to OpenBSD’s
unveil()and (less so)pledge(): programs can make a contract with the kernel stating, “I only need these files or resources — deny me everything else if I’m compromised.”It provides a simple, developer-friendly way to add defense-in-depth to applications. Compared to traditional Linux security mechanisms, Landlock is vastly easier to understand and integrate.
This post is meant to be an accessible introduction, and hopefully persuade you to give Landlock a try.
↫ prizrak.me blog
I had no idea this existed, even though it seems to plug a hole in the security and sandboxing landscape on Linux by not requiring any privileges and by being relatively simple and straightforward to use. There’s even an additional “supervisor” proposal that would bring Android-like permissions not just to, say, desktop applications (see Flatpak), but to every process trying to access anything for the first time.
I’m not knowledgeable enough to make any statements about Landlock compared to any other options we have for securing desktop Linux in a user-friendly, non-intrusive manner, but I definitely like its simplicity.
December Things to Do: Food [The Stranger]
The best food events happening in December. by Julianne Bell
Want more? Here's everything we recommend this month: Music, Visual Art, Literature, Performance, Film, and Food.
Miracle on 2ndThrough Dec 25
In 2014, New York bar owner Greg Boehm temporarily transformed his space into a kitschy Christmas wonderland replete with gewgaws and tchotchkes galore. Now, the pop-up has expanded to more than 100 locations all over the world and returns to Belltown’s Rob Roy. Beverages are housed in tacky-tastic vessels, bedecked with fanciful garnishes like peppers and dried pineapple, and christened with cheeky, pop- culture-referencing names like the “Bad Santa,” the “Yippie Ki Yay Mother F****r” (their asterisks, not ours), and the “You’ll Shoot Your Rye Out.” (Rob Roy, 4 pm–2 am) JULIANNE BELL
We Are Where We Eat: Seattle’s Food CultureDec 11
Our city may have its own regional specialties like teriyaki and Seattle dogs, but does it have its own food culture, and if so, what defines it? Inspired by the exhibition Farm to Table: Art, Food, and Identity in the Age of Impressionism, this talk hosted by Seattle Art Museum will explore these burning questions, as well as the future of Seattle’s restaurant scene and how other cooking traditions have influenced local cuisine. Ruby de Luna of KUOW will moderate a conversation with Cafe Campagne chef/co-owner Daisley Gordon and chef/food writer J. Kenji López-Alt as they contemplate our culinary landscape. (Seattle Art Museum, 6–8 pm, free with admission, all ages) JULIANNE BELL
Seattle Christmas MarketThrough Dec 24
Lately, I’ve been jealously poring over YouTube videos of German Christmas markets aglow with twinkly lights and full of bustling shoppers bundled up in their puffy winter coats, purchasing everything from handmade gifts to glühwein. I’ve been daydreaming of a Yuletide escape to experience one of these idyllic bazaars for myself, but since that’s not likely in the cards anytime soon, my next best option is Seattle’s Christmas Market, the local take on this Old-World European tradition. The event features live entertainment, over 60 artisan vendors, a lineup of German beers, sweet and savory treats, and of course, the requisite mulled wine to cup in your gloved hands as you peruse the booths. Plus, ride a Christmas carousel, embark on a scavenger hunt, and snap selfies with the festive mascots Holly and Jolly. (Seattle Center, various times, all ages) JULIANNE BELL
Holiday Makers’ Market at Fast Penny SpiritsDec 6
Get ahead of the holiday hubbub and build an arsenal of classy host gifts and stocking stuffers at this market featuring local vendors, hosted by the woman-owned amaro distillery Fast Penny Spirits. One of their amaros, which come in gorgeous bottles with gilded Art-Deco-inspired art, would be a welcome addition to any aspiring mixologist’s bar cart, but you can also choose from items like cocktail kits from Crafted Taste, deluxe cherries from Orasella, vintage glassware from Mix Century Vintage, hand-poured candles from Pumarosa Candles, tonic from Bradley’s Tonic, and cookbooks from Book Larder, among others. (Fast Penny Spirits, 1–4:30 pm) JULIANNE BELL
MoreBallard Farmers Market Every Sunday, Ballard Ave, 9 am–noon, free
Capitol Hill Farmers Market Every Sunday, E Denny Way and Nagle Pl, 11 am–3 pm, free
West Seattle Farmers Market Every Sunday, Alaska Junction, 10 am–2 pm, free
Fremont Sunday Market Every Sunday, Evanston Ave N and N 34th St, 10 am–4 pm, free
Osteria la Spiga’s Fifth Annual Holiday Market Dec 7, Osteria la Spiga, 12–4 pm
Ballard Cocktail Trail Dec 12, Columbia Bank, 6–9 pm
WA Brewers Guild Winter Beer Fest Dec 19–20, Victory Hall at The Boxyard, 21+
Ellensburg Winterhop Brewfest Jan 17, Downtown Ellensburg, 12–5 pm
Strange Brewfest Jan 30–31, Port Townsend
Early WarningsTacoma Beer Week Feb 27–March 8, various locations across Tacoma
December Things to Do: Film [The Stranger]
The best film events happening in December. by Julianne Bell
Want more? Here's everything we recommend this month: Music, Visual Art, Literature, Performance, Film, and Food.
Reveries: The Mind PrisonDec 4
If the Big Dark has you feeling glum and you’re in the mood to expand your consciousness with some big laughs along the way, consider this unique comedy/art film hybrid, which was released earlier this year. Through a combination of “narrative scenes, abstract video montages, and meditative voiceovers,” the psychedelic movie follows two drifters wandering through a desert on an existential journey of self-discovery—New York Magazine’s Vulture likened it to “an ayahuasca session conducted by Mitch Hedberg.” Better yet, co-writer and star Anthony Oberbeck will be present at this special screening. (The Beacon Cinema, 7:30 pm) JULIANNE BELL
Bye Bye LoveDec 9–11
This lost gem of Japanese independent cinema came out in 1974 and was rediscovered in a film lab warehouse in 2018, leading to its restoration and distribution in America for the first time in 50 years. Evoking the doomed atmosphere of Gregg Araki and the stylish surrealism of Jean-Luc Godard, director Isao Fujisawa’s sole feature film introduces us to Utamaro, a nihilistic vagabond who crosses paths with the beautiful genderfluid shoplifter Giko. Before long, the star-crossed pair must go on the lam for murder and embark on a summer trek through Japan. In short, it’s a queer crime road-trip movie with a Japanese take on French New Wave—what more could you possibly ask for? (The Beacon Cinema, various times) JULIANNE BELL
Female MisbehaviorDec 13
I won’t pretend that Monika Treut’s Female Misbehavior is for everyone, but if you are interested in feminist post-structuralism, lesbian sadomasochism, or stories of gender- non-conforming artists, keep reading! Released in 1992, Female Misbehavior is a collection of four short documentaries that explore individuals who live outside of society’s expectations of gender and womanhood, or, as one of the film’s subjects, Camille Paglia, puts it, “my everyday life as a social and sexual alien.” The films range from an interview with the aforementioned academic, a portrait of trans poet Max Wolf Valerio, a PCA (Public Cervix Announcement) from “post porn modernist” Annie Sparkle, and a look at New York’s Lesbian Sex Mafia. (NW Film Forum, 4:30 pm) AUDREY VANN
Vengeance Is MineDec 15–17
The late German-American filmmaker Michael Roemer is primarily known for his landmark films Nothing But a Man (1964) and The Plot Against Harry (1971), but his lesser-known family drama Vengeance Is Mine (1984) could give them a run for their money. On a trip to her family home in Rhode Island, where she hopes to get closure from her traumatic childhood, Jo (Brooke Adams) befriends neighbor Donna (Trish Van Devere) and finds herself ensnared in another domestic conflict altogether. Criterion Collection writes, “Bringing vérité naturalism to a seemingly melodramatic premise, Roemer crafts a miracle of novelistic psychological insight that, as it unspools, reveals ever-greater depths of human understanding.” (The Beacon Cinema, various times) JULIANNE BELL
Mourning Sickness: ShowgirlsJan 17–18
What can I say about Paul Verhoeven’s landmark 1995 erotic drama that hasn’t already been said? That I felt like a changed person after watching it for the first time? That it is tacky and absurd to a degree approaching transcendence? That never in my life have I seen anything quite like Gina Gershon flirting with Elizabeth Berkley by talking about eating doggy chow? Whether you love or hate the critically panned movie, I’m willing to bet that you’re probably not indifferent. (I’m solidly in the love camp myself, in case you couldn’t guess.) See the psychosexual NC-17 sensation and its bevy of naked breasts on the big screen—drag queen and self-described “bird-brained bombshell” Monday Mourning will give an introduction to the film, which is part of her “Mourning Sickness” series of camp and cult classics. (Northwest Film Forum, 7:30 pm) JULIANNE BELL
Lady Windermere’s FanJan 26
I attended my first Silent Movie Monday last month, and now I am completely obsessed. The film series pays homage to the history of our beloved Paramount Theatre, which opened in 1928, showing silent films accompanied by live musicians on the theater’s original Mighty Wurlitzer (a single organ that’s connected to various pipes and percussion instruments), and serving free, old-fashioned bags of popcorn—it’s truly like stepping into a time machine. For the next Silent Movie Monday, organist Donna Parker will soundtrack Ernst Lubitsch’s 1925 adaptation of Oscar Wilde’s Lady Windermere’s Fan. Set in 1890s London, the film follows an elegant society woman who’s convinced her husband is having an affair. It’s full of drama, scandals, and stunning costumes. Warning: You will likely leave the theater wanting to cut your hair into a 1920s bob. (Paramount Theatre, 7 pm) AUDREY VANN
MoreTruth to Fiction: Blue Dec 4, Northwest Film Forum, 7 pm
WTO/99 Dec 5–14, Northwest Film Forum
SIFF ‘n’ Stitch: Elf Dec 7, SIFF Cinema Uptown, 12 pm
The Muppet Christmas Carol Dec 11–14, SIFF Cinema Uptown
Gremlins Dec 12–18, the Beacon
Gendernauts Dec 13, Northwest Film Forum, 7:30 pm
Deaf Santa Claus Dec 14, SIFF Film Center, 1 pm
Genderation Dec 14, Northwest Film Forum, 7:30 pm
The Snow Queen Dec 18–19, the Beacon
It’s a Wonderful Life Dec 18–24, Northwest Film Forum
Who Killed Santa Claus? Dec 21, the Beacon, 5 pm
Christmas in Connecticut Dec 21 & 23, the Beacon
Ghost Stories for Christmas Dec 23, the Beacon, 7:30 pm
Fanny and Alexander Dec 24, the Beacon, 2 pm
Together Dec 27 & 30, the Beacon
Moulin Rouge! New Year’s Eve Sing-along Dec 31, SIFF Cinema Uptown, 6 pm
Peaches Goes Bananas Jan 24–Feb 1, Northwest Film Forum
December Things to Do: Performance [The Stranger]
The best theater and performance events in December. by Julianne Bell
Want more? Here's everything we recommend this month: Music, Visual Art, Literature, Performance, Film, and Food.
Matt Rogers: Christmas in DecemberDec 6
[Mariah Carey voice] “It’s tiiiime!” Mimi might be the holiday’s reigning queen, but comedian and actor Matt Rogers, cohost of your pop-culture-savvy queer friend’s favorite podcast Las Culturistas, has undoubtedly earned the title of “Pop Prince of Christmas” with his musical comedy TV special and album Have You Heard of Christmas? The hysterical romp features appearances from friends like Bowen Yang and MUNA and is the perfect antidote to Christmas fatigue with its joyfully irreverent take on Yuletide cheer. At his live performance at the Neptune, Rogers will perform songs like “God’s Up to His Tricks!” (in which he calls God a “stupid bitch”), “Lube for the Sleigh,” and “The Hottest Female Up in Whoville.” (Neptune Theatre, 8 pm, all ages) JULIANNE BELL
In Tandem: A Trio of DuetsDec 18–20
This evening of performances treats audiences to three different duets, each springing from long-term creative collaborations and exhibiting different choreographic styles. First up is the US premiere of Fable, a work from Bebe Miller with Angie Hauser and Darrell Jones that promises to explore “findings from a 25-year perspective on the contexts of art making through the body over a lifetime, exposing the collision of their internal processes as dance artists, friends, and citizens.” Next, Maurya Kerr, artistic director of the Bay Area-based company tinypistol, will present comet, whom I love, a “duet full of rapture, orbit, intimacy, fury, and presence.” Rachael Lincoln and Leslie Seiters will cap off the night with Fast Craft: Still Unlike Diving, a “study in pause, friction, and the beautiful collapse of certainty” 25 years in the making. (On the Boards, 8 pm, all ages) JULIANNE BELL
Roy Wood Jr.Dec 28
Now more than ever, we need comedians who speak truth to power (with caustic wit, of course), because the MSM have proved themselves to be entirely too complicit in downplaying and normalizing 47’s world-class corruption and enshittifcation of America. Thankfully, Roy Wood Jr. is on the case. He’s shown his heady mettle as a correspondent on Comedy Central’s The Daily Show With Trevor Noah and as host of CNN’s Have I Got News for You. His jabs and uppercuts from the left have caused deep bruises on many deserving mofos. As MC of the 2023 White House Correspondents’ Dinner, Wood hilariously roasted Dems, Repubs, and the media in a tight 25 minutes. And his takes on race are among the most sizzling in the business, including this one: “But if we get rid of the Confederate flag, how am I gonna know who the dangerous white people are?” Beyond those topics, Wood has funny thoughts about relationships, fatherhood, white allies, the travails of grocery shopping, and the ramifications of getting a BBL, among other things. (Neptune Theatre, 7 pm, all ages) DAVE SEGAL
Seattle Opera: DaphneJan 16 & 18
One of my goals for 2026 is to start frequenting the opera—who’s with me? I want to see Seattleites step out of their Blundstones and Patagonias and into their opera gloves, faux furs, and antique opera glasses for an evening of art and glamour. I’ll be kicking off my Year of Opera with Strauss’s underrated masterpiece, Daphne, inspired by Ovid’s Metamorphoses. Strauss’s take on the Greek myth tells the story of Daphne, a woman who loves nature but has no interest in human romance, who turns into her favorite laurel tree after mourning the death of her suitor. Not only will this whimsical tale be brought to life on stage by the Seattle Opera, but the Seattle Symphony will join, playing the lush, pastoral score. (McCaw Hall, various times, all ages) AUDREY VANN
MAJORJan 29–31
Majorette dance has been a staple of Black girlhood since the 1960s, when it was popularized at HBCUs (Historically Black Colleges and Universities) in the American South. Dressed in their signature glittery costumes, majorettes dance alongside marching bands and display bold showmanship, glamour, precision, power, and sensuality. In this contemporary performance directed and choreographed by Ogemdi Ude, six Black femmes will pay homage to the majorette dance form, accompanied by composer Robert Lambkin’s score blending “Southern rap, horns, drumlines, and melodic R&B and soul.” Back in September, On the Boards executive director Megan Kiskaddon told Stranger staff writer Nathalie Graham that MAJOR is the show everyone must see in the venue’s 2025–2026 season, explaining, “It’s one of those pieces that anyone would get something out of, because it’s so exuberant.” (On the Boards, 8 pm, all ages) JULIANNE BELL
CinderellaJan 30–Feb 8
Pacific Northwest Ballet’s production of Cinderella was conceived and choreographed in 1994 by founding artistic director and choreographer Kent Stowell, who sought to emphasize the romantic nature of the fairy tale in contrast to the tragicomic sensibilities of earlier modern productions. The result is an enchanting, swoon-worthy confection filled with dazzling costumes by Tony Award-winning costume designer Martin Pakledinaz and fantastical sets by scenic designer Tony Straiges. Fun facts: The production features over 120 costumes, which required more than a mile of tulle to make, and the trim on Cinderella’s ball gown alone took over 100 hours to create and sew. (McCaw Hall, various times, all ages) JULIANNE BELL
MoreA Very Die Hard Christmas Through Dec 21, Seattle Public Theater, all ages
Scott Shoemaker’s War on Christmas Through Dec 26, Theatre Off Jackson
How the Queens Stole Christmas Through Dec 28, Queer/Bar, 21+
Pacific Northwest Ballet: The Nutcracker Through Dec 28, McCaw Hall, all ages
A John Waters Christmas Dec 2, Neptune Theatre, 8 pm, all ages
A Drag Queen Christmas with Nina West, Lexi Love, Shea Coulee, and more Dec 3, McCaw Hall, 7:30 pm, 18+
Derek Sheen: Unrelatable (Live Taping) with Emma Schmuckler Dec 4, Clock-Out Lounge, 8:30 pm, 21+
Disney’s The Lion King Dec 4–Jan 4, Paramount Theatre, all ages
Alaska: A Very Alaska Christmas Show Dec 5, Neptune Theatre, 8 pm, all ages
The 5th Annual Holly Jolly Holiday Show Dec 7, Neumos, 6 pm, 21+
Land of the Sweets: The Burlesque Nutcracker Dec 10–28, Triple Door
Blue Xmas with Betty Wetter Dec 11, Clock-Out Lounge, 9 pm, 21+
Kitten N’ Lou Present: Jingle All the Gay Dec 12–14, Neptune Theatre, all ages
The Jinkx & DeLa Holiday Show Dec 23-28, Moore Theatre, all ages
Fortune Feimster: Takin’ Care of Biscuits Dec 31, McCaw Hall, 7 pm, all ages
Seattle Rep Presents: The Heart Sellers Jan 2–Feb 1, Leo K. Theater
Tectonic Theater Project’s Here There Are Blueberries Jan 21–Feb 15, Bagley Wright Theater
Early WarningsTopdog/Underdog Feb 4–Mar 1, ArtsWest
Bridge Project 2025 with DaeZhane Day, kelly langeslay, and No Girls No Masters Feb 6–8, Velocity
Bosco Presents: GRINDHAUS Feb 7, The Crocodile, 10:30 pm, 21+
The Wiz Feb 10, Paramount Theatre, all ages
The Serpent Sisters Tour: Nymphia Wind and Plastique Tiara Feb 15, Neptune Theatre, 8 pm, all ages
John Jarboe’s Rose: You Are Who You Eat Feb 19–21, On the Boards, 8 pm
Fellow Travellers Feb 21–Mar 1, McCaw Hall
Amy O’Neal: Again, There Is No Other (The Remix) Mar 26–28, On the Boards, 8 pm
Pacific Northwest Ballet Presents: Giselle Apr 10–19, McCaw Hall, all ages
Jonathan Van Ness Apr 24, Moore Theatre, 8 pm, all ages
Margaret Cho Apr 29, Moore Theatre, 7 pm, all ages
December Things to Do: Literature [The Stranger]
The best literature events in December. by Julianne Bell
Want more? Here's everything we recommend this month: Music, Visual Art, Literature, Performance, Film, and Food.
Megha MajumdarDec 4
Kolkata-born author Megha Majumdar’s incendiary 2020 debut novel A Burning, which follows the story of an Indian woman who witnesses a terrorist attack on a train, became a New York Times bestseller and was longlisted for the National Book Award that year. Set in the near future of Kolkata, Majumdar’s sophomore novel A Guardian and a Thief tells the intertwining stories of Ma, whose purse containing crucial immigration documents is stolen just before her family’s move to America, and Boomba, the thief who is driven to crime out of his desperation to support his own family. Majumdar will drop by Elliott Bay to discuss her work with local writer Kim Fu, author of Lesser Known Monsters of the 21st Century. (Elliott Bay Book Company, 7 pm, free) JULIANNE BELL
Colm TóibínJan 13
Celebrated Irish author Colm Tóibín follows in the footsteps of literary giants like Henry James, James Baldwin, and Elizabeth Bishop, writing intensely human stories with unadorned, rhythmic prose. You’re most likely familiar with him through his sixth novel, Brooklyn, a breakout success that was adapted into the Oscar-nominated 2015 film of the same name starring Saoirse Ronan. Brooklyn revolves around young midcentury Irish immigrant Eilis Lace’s struggle to reconcile her past in Ireland with her new life in New York. Tóibín continued the saga with his 2024 sequel, Long Island, which picks up 30 years later as Eilis finds her marriage with her Italian husband Tony in disarray. Join him for this conversation at Town Hall for a glimpse into the mind of what the Boston Globe called “one of the world’s best living literary writers.” (Town Hall Seattle, 7:30 pm) JULIANNE BELL
Honorée Fanonne JeffersJan 27
National Book Award-nominated fiction writer, poet, and essayist Honorée Fanonne Jeffers spent 15 years researching archives for her critically acclaimed 2020 collection The Age of Phillis, which reimagines the life of revolutionary 18th-century poet Phillis Wheatley. For her next act, she published her 2021 debut novel The Love Songs of W.E.B. Du Bois, an ambitious 816-page intergenerational epic that traces a Black family’s lineage from before the Civil War to the present. Her latest work is her nonfiction debut Misbehaving at the Crossroads, which explores the crossroads—defined by Jeffers as “a location of difficulty and possibility, a boundary between the divine and the human”—in Black American and African cultures. Jeffers will join host Colleen Echohawk, Community Roots Housing CEO and Seattle Arts and Lectures’ Community Curated Series director, for a discussion on this fascinating intersection. (Town Hall Seattle, 7:30 pm) JULIANNE BELL
MorePamela Gullard Dec 3, Elliott Bay Book Company, 7 pm
Limitless: Stories from the Neighborhood That Shaped Seattle Dec 4, Third Place Books Seward Park, 7 pm
Polly Dugan Dec 5, Elliott Bay Book Company, 7 pm
Thom Hartmann with Special Guest Mayor-Elect Katie Wilson Dec 6, Town Hall Seattle, 7 pm
Yume Kitasei Dec 7, Elliott Bay Book Company, 7 pm
Tyler J. Bieber Dec 8, Elliott Bay Book Company, 7 pm
Cynthia Miller-Idriss and Jen Barnes Dec 10, Town Hall Seattle, 7:30 pm
A ‘Birdbrains’ Reading with Susan Rich & Contributors Dec 14, Elliott Bay Book Company, 7 pm
‘We Are Not Numbers: The Voices of Gaza’s Youth’ A Community Reading Jan 29, Third Place Books Seward Park, 7 pm
Early WarningsAja Monet Feb 5, Town Hall Seattle, 7:30 pm
Cristina Rivera Garza & Javier Zamora Feb 24, Town Hall Seattle, 7:30 pm
James McBride March 3, Town Hall Seattle, 7:30 pm
Stephen Graham Jones March 30, Town Hall Seattle, 7:30 pm
George Saunders: ‘Vigil: A Novel’ Apr 7, Town Hall Seattle, 7:30 pm
Patrick Radden Keefe April 22, Town Hall Seattle, 7:30 pm
Marlon James May 6, Town Hall Seattle, 7:30 pm
Emily Wilson May 12, Town Hall Seattle, 7:30 pm
Tommy Orange May 21, Town Hall Seattle, 7:30 pm
December Things to Do: Visual Art [The Stranger]
The best visual art events of the month. by Amanda Manitach
Want more? Here's everything we recommend this month: Music, Visual Art, Literature, Performance, Film, and Food.
Peter Ferguson + John Brophy + Jean LabourdetteDec 12–Jan 10
Three solo shows under one roof at Roq La Rue offer paintings of the jaw-dropping ilk. Each artist wields the paintbrush like a Dutch master, and each delves headlong into the realm of dark fairy tale with their unique twist. Montreal-based Peter Ferguson (described as “Norman Rockwell meets H.P. Lovecraft”) offers luminous (yet somehow dim) visions of sepia-drunk cityscapes and other scenes frozen in time that send the mind spiraling in search of a story. Jean Labourdette’s hyperrealistic miniatures of birds, skulls, and other ephemera are often only two or three inches in size, encased in vintage hinged gilt wood casings or antique reliquaries. John Brophy’s oil paintings of characters seem to glow from within: The shimmer of gathered fabrics, reflecting pools of satin, gloss of grass, and threads of delicate pointelle lace will have you hopelessly, luxuriously lost in the details. (Roq La Rue) AMANDA MANITACH
Equinox Studios: 19th Annual Very Open HouseDec 13
For nearly two decades, Equinox Studios in Georgetown has been a hub for arts. Sited in a World War II-era factory, the complex oozes that Georgetown gearhead grit and realness and is home to over 150 artists, from dancers and ceramicists to blacksmiths and painters (such as the brilliant Beth Gehan and Mary Ann Peters). We know that Georgetown loves to throw a good party, and this December iteration of the Georgetown Art Attack will be one for the books, as it syncs up with the Equinox open house (the annual event usually draws 6-8k visitors). Festivities this year include a pop-up Native Art Market, a host of food trucks, and artist-made fire pits scattered through the block. Live music starts at 4 p.m. with nance!, Flesh Produce, the Noble Manes, Bandski, Sirens of Serpentine Bellydancers, Night Owl, Town Forest, and Lil Lebowsxi. And since it’s Georgetown, of course there will also be a renegade marching band on the premises. (Equinox Studios, 3 pm–late) AMANDA MANITACH
Dan Webb: YespalierJan 8–Feb 21
Dan Webb is a woodcarver—the old fashioned kind who chips away slowly at a tree, through sap and heart and bark, to draw things out. His melting chairs and busts draped in luxurious fabric-y folds speak to a mastery of the medium, as well as a playful sensibility that coaxes unexpected meaning from a blank block. Despite the trompe l’oeil playfulness, the wood-ness of Webb’ s sculptures is always felt; the tree is present. Like Michelangelo’s non finito Prisoners emerging from their stone, Webb’s subjects feel as though they’ve willed themselves into being, emerging from the raw pith of the earth. In Yespalier (a portmanteau of yes and espalier—the ancient horticultural technique in which fruit trees are trained along a frame to direct their growth) Webb has created a body of work that is less planned, more improvisational and sketchy. How does one “sketch” with wood? By starting with a simple square frame and carving inward. The resulting sculptures are delightfully meandering, surreal, and all over the place in the best way. (Greg Kucera Gallery) AMANDA MANITACH
Merlantis, or the Great Pacific Garbage PatchOpens Jan 30
What lies beneath the Great Pacific Garbage Patch? An underwater city loosely based on Seattle and built of fallen trash, of course. While “the damaging effects of commodification and rampant capitalism on our planet” sound like heavy themes for troubled times, this exhibition put on by the group True Misschiff promises to handle the subject with campy panache in an attempt to “normalize non-normative approaches to life and gender” through the adventures of characters like Brosiedon, the douchey ruler of the merpeople. Base Camp 2 has recently restructured its exhibition timeline to focus on four big shows a year, which is great news, as the massive old luggage store space lends itself to immersive worlds such as Merlantis promises to be. In addition to ticketed events and cabaret performances (sponsored by the fictional corporation Blissfish), there will be art for sale, a thematic gift shop, and more fishy shenanigans available through March. (Base Camp 2) AMANDA MANITACH
MoreFace Time: Joey Brock, Gary Hill, and Mickalene Thomas Through Dec 19, James Harris Gallery, free
Hello Again: Fresh From the Back Room Through Dec 20, Greg Kucera Gallery, free
Jen Ament: Headtrip Through Dec 20, Spectrum Fine Art, free
Timea Tihanyi Through Dec 20, Greg Kucera Gallery, free
Emily Tanner-McLean: Let your karma be your dharma Through Jan 3, Shift Gallery, free
Scott Coffey: Going on a Walk at the End of the World Through Jan 3, Shift Gallery, free
Asian Comics: Evolution of an Art Form Through Jan 4, MoPOP
Tariqa Waters: Venus Is Missing Through Jan 4, Seattle Art Museum, Wed–Sun
Storytellers: A Group Exhibition Through Jan 6, Stonington Gallery, free
Thirty Years, A Thousand Stories Through Jan 17, ArtX Contemporary, free
Beau Dick: Insatiable Beings Through Jan 18, Frye Art Museum, free
Farm to Table: Art, Food, and Identity in the Age of Impressionism Through Jan 18, Seattle Art Museum
Cultured Commodities: Photographs from the Henry Collection Through Jan 28, Henry Art Gallery, free
Aisha Harrison: Porous Body Through Feb 22, Bainbridge Island Museum of Art, free
New Nordic: Cuisine, Aesthetics, and Place Through Mar 8, National Nordic Museum
Boren Banner Series: Camille Trautman Through Apr 12, Frye Art Museum, free
Priscilla Dobler Dzul: Water Carries the Stories of Our Stars Through Apr 19, Frye Art Museum, free
Jonathan Lasker: Drawings and Studies Through Sept 27, Frye Art Museum, free
A Room for Animal Intelligence Through Nov 1, Seattle Art Museum
Ten Thousand Things Through Spring 2027, Wing Luke Museum
Ash-Glazed Ceramics from Korea and Japan Through July 12, 2027, Seattle Art Museum
Ai Weiwei: Circle of Animals/Zodiac Heads (Bronze) Through Oct 2027, Olympic Sculpture Park, free
Gossip: Between Us Ongoing, Tacoma Art Museum
Haunted Ongoing, Tacoma Art Museum
Cut, Stitch, Liminal - Curated by Trung Pham Opens Dec 4, SOIL, free
The One-Two Punch: 100 Years of Robert Colescott Opens Dec 4, Tacoma Art Museum
The Game Show Opens Dec 12, The Vestibule, free
Panic Room: Jeju Island.Artist Collective Opens Jan 3, The Vestibule, free
Marjorie Thompson: New Works Opens Jan 6, Patricia Rovzar Gallery, free
Dan Webb: Yespalier Opens Jan 8, Greg Kucera Gallery, free
Sara Jimenez: Why should our bodies end at the skin? Opens Jan 9, MadArt, free
Chris Kallmyer: Song Cycle Opens Jan 10, Seattle Art Museum
Crystalline Lens - Curated by Allyce Wood Opens Jan 23, SOIL, free
Qiu Zhijie: Map of the History of Science and Technology Opens Jan 28, Olympic Sculpture Park, free
Early WarningsSamantha Yun Wall: What We Leave Behind Opens Feb 5, Seattle Art Museum
Beyond Mysticism: The Modern Northwest Opens Mar 5, Seattle Art Museum
Monochrome: Calder and Tara Donovan Opens May 13, Seattle Art Museum
December Things to Do: Music [The Stranger]
The best music events in December. by Julianne Bell
Want more? Here's everything we recommend this month: Music, Visual Art, Literature, Performance, Film, and Food.
Jens Lekman, Jordan PattersonDec 3
I fell in love with Swedish musician Jens Lekman’s music the very first time I heard “You Are the Light (by Which I Travel Into This and That)” on KEXP as a teen and soon graduated to listening to a burned CD of his 2004 debut album When I Said I Wanted to Be Your Dog on repeat, becoming fixated on his melodramatic yearning and witty storytelling. The hopeless romantic has since fulfilled the prophecy he set for himself in the early track “If You Ever Need a Stranger (To Sing at Your Wedding),” in which he volunteered himself as a wedding singer: “You think it’s funny / My obsession with the holy matrimony / But I’m just so amazed to witness true love.” Since then, he’s performed at countless weddings, and his seventh album, Songs for Other People’s Weddings, is a narrative concept album inspired by his experience, accompanied by a tie-in novel by author David Levithan. (Neumos, 7 pm, all ages) JULIANNE BELL
Rochelle Jordan, Essosa, ParisalexaDec 4
Rochelle Jordan’s third full-length album, Through the Wall, has made me more excited about new music than I’ve been in a long time, reminding me of when I first heard luminary breakthrough releases like Solange’s A Seat at the Table, SZA’s Ctrl, or Azealia Banks’s 1991. The album leans into a nostalgic club sound, reminiscent of a ’90s fashion show or incidental music on Sex and the City. On the Kaytranada-produced track “The Boy,” Jordan’s velvety vocals sing a radio-ready hook suitable for Brandy or Aaliyah. My crystal ball says that she will blow up any day now, so don’t miss this intimate show at Barboza. Plus, with openers like London’s Essosa and Seattle’s own Parisalexa, I’m certain that this show will be the dance party of the year. (Barboza, 7 pm, 21+) AUDREY VANN
Immortal Technique, w/Poison Pen & DJ Static, True II Form, Premium Smoke, DJ Indica JonesDec 5
Felipe Andres Coronel, the Peruvian-bred, Harlem-hardened MC better known as Immortal Technique, is not touring in support of a new album—in fact, the rapper hasn’t released a full-length in roughly 15 years—however, his return to the stage does seem born of the same call to action that led him to release venomous underground-rap classics like Revolutionary Vol. 1 and 2 during the younger Bush presidency. During that time, Tech established himself as the militant mouthpiece of conscious rap, harvesting the revolutionary ethos of bands like Rage Against the Machine and Public Enemy, and cramming it through the meat grinder of the era’s energized battle-rap scene. In more recent years, he has done work counseling prison inmates (of which he was once one), and mentoring young writers, as well as partnering with a nonprofit group to help build an orphanage in Afghanistan. The man walks the walk, and for obvious reasons, there may not be a more appropriate and cathartic time to see an Immortal Technique show that will likely be peppered with political diatribes. We fully recommend you go get an earful. (Nectar Lounge, 8 pm, 21+) TODD HAMM
Takuya Nakamura, Nick CarrollDec 11
Takuya Nakamura is not your typical electronic-music producer. The trumpeter and keyboardist moved from Japan to the US in 1990 to study at the New England Conservatory of Music under innovative jazz composer George Russell. This was a big fucking deal, as Russell’s concepts influenced John Coltrane and Miles Davis’s modal music. Nakamura applied those ideas to his own playing, doing sessions with Quincy Jones, David Byrne, Lee “Scratch” Perry, the GZA, Arto Lindsay, and many other notables. Takuya’s solo output encompasses highly musical takes on jazzy drum ‘n’ bass, ambient, broken beat, and funky techno. Check out recent tracks such as “BonJah” and “Caged Bird Flying” and the Jon Hassell-esque dub-jazz of Mysteries of the Cosmos for examples of his fascinating fusions. Opener Nick Carroll—who used to serve as talent buyer at electronic-music hotbed Kremwerk—is an excellent, eclectic DJ who’s more used to making folks dance for hours at off-the-grid parties than at conventional venues. Trust me, you don’t want to miss his set. (Barboza, 7 pm, 21+) DAVE SEGAL
Mt Fog, Von Wildenhaus, Power StripDec 11
Seattle-born trio Mt Fog uses minimalist electronic sounds and ethereal vocals as a magic wand to “evoke magical spaces, real and imagined.” Their 2024 album, ultraviolet heart machine, gained critical praise due to its whimsical marrying of Björk-style growls with sparkly ’80s synths. Now, the band is back with a new song, “Look Inside,” which they will debut at this single release show along with a snazzy new music video directed by artist Sean Downey with illustrations by Dena Zilber. This show is a must for fans of Cocteau Twins, the Sugarcubes, Kate Bush, Sinéad O’Connor, and Siouxsie & the Banshees. Don’t miss opening sets from cinematic indie-pop outfit Von Wildenhaus and improvisational ambient project Power Strip. (Sunset Tavern, 8 pm, 21+) AUDREY VANN
Modern Nature, Brigid Dawson and the Mother’s NetworkDec 12
There’s a small but important coterie of UK groups who respectfully and deftly emulate the motorik rhythms blueprinted by the OG krautrockers. They include Beak>, Cavern of Anti-Matter, Snapped Ankles, Fujiya & Miyagi, and Th’ Faith Healers. Add Cambridge’s Modern Nature to that clique, although they also embrace the sort of wide-screen, brooding rock that Radiohead have taken to the credit union, albeit with less bombast. Led by Ultimate Painting member Jack Cooper (a serious composer who’s had work performed by Apartment House), Modern Nature also have strains of jazzy folk in their DNA, which should appeal to fans of John Martyn and late-career Talk Talk. On this tour, Modern Nature are supporting The Heat Warps, a wonderfully intimate album that imbues minimalist post-rock with beautiful songcraft—a real rarity these days. The sweet-voiced leader of Brigid Dawson and the Mother’s Network formerly played bass and keyboards with Thee Oh Sees. The band’s brilliant 2020 album Ballet of the Apes hovers in the shivery, nocturnal-rock zone of Brightblack Morning Light, but with more instrumental oomph. (Clock-Out Lounge, 8:30 pm, 21+) DAVE SEGAL
Antibalas, MidpakDec 13 & 14
Fela Kuti and Tony Allen may be dead, but their pioneering Afrobeat legacy powers on with more voltage than ever in the 2020s. One of these revolutionary Nigerian musicians’ most skillful disciples, NYC’s Antibalas, have been fanning Fela and Tony’s artistic flames with unmatched fluency and funkiness for a quarter century. The intricate, interlocking polyrhythms, the triumphant horn charts, and the liberatory political lyrics build into perpetual-motion machines that make you think, against all logic, a more just world is possible. Following the departure of long-running singer Duke Amayo after 2020’s Fu Chronicles, Antibalas have returned with the all-instrumental album, Hourglass, which harks back to the group’s first principles, but with greater subtlety. It’s fairly certain that Fela and Tony would bust moves in approval. Opening will be Seattle quartet Midpak, whose serpentine and explosive funk laces African, Latin, and psychedelic elements into potent, party-starting jams. (Hidden Hall, 8 pm, 21+) DAVE SEGAL
Rose City Band, Pearl CharlesDec 16
Earlier in this century with Wooden Shjips, guitarist/vocalist Ripley Johnson took rock to sky-high places through transcendent repetition. Shortly after with keyboardist Sanae Yamada in Moon Duo, he “helped to forge a cool-browed strain of electronic rock that’s ideal for zipping down the Autobahn at breathtaking speeds,” if I may quote myself. Over the last six years, Johnson’s focused on Rose City Band with some of the mellowest and headiest players in Portland. Deviating from Johnson’s previous projects, they ease the foot off the gas pedal and engage in amiable country rock for people who also dabble with microdosing. Ripley has fashioned an appealing sotto voce singing style (with occasional forays into falsetto) that meshes nicely into the undulating and fluid pedal-steel and faded-denim guitar explorations that dominate RCB recordings. Thankfully, Johnson hasn’t altogether ditched mantric repetition; check out the hypnotic, lysergic “Fear Song” from 2019’s self-titled debut. To reiterate the guiding ethos of my music criticism, the more psychedelic Rose City Band get, the better they sound. So, let’s hope that they enter a reality-altering headspace and get real long gone. (Tractor Tavern, 8 pm, 21+) DAVE SEGAL
Earl Sweatshirt, Liv.e, Zeloopers, Cletus StrapDec 16
Earl Sweatshirt has been trying to turn the volume down for years. Once a teenage rap prodigy who found cult fame with, and brotherhood in, “the potty mouth posse” Odd Future Wolf Gang Kill Them All, Earl Sweatshirt now stands at age 31 as one of hip-hop’s old-soul success stories. Having just welcomed his second child and given up booze (and ramped up weed), he confidently told The New York Times’ Popcast this summer that his life is “fuckin’ normal, finally.” The recorded discography of Sweatshirt, born Thebe Neruda Kgositsile, documents the life journey of someone who once helped define, then survived to outgrow, a generation of youthful nihilism. But more than a post-nihilist victory lap, his new album, Live Laugh Love, is a bombastic celebration of passion. Gone are the days where each line was an avalanche of syllables that tumbled across the page like a chorus of cracking double-jointed knuckles; today, Sweatshirt raps with a blunted calm that sounds well-earned, but what remains is the vivid imagery and referential depth you have to rewind (gladly) to fully appreciate, proving he’s still one of the best to ever do it. (Showbox SoDo, 8 pm, all ages) TODD HAMM
Jay Som, Sea LemonDec 19
Melina Mae Cortez Duterte, better known by her stage name Jay Som, dubs her brand of dreamy, intimate DIY bedroom pop “headphone music,” citing influences as disparate as Carly Rae Jepsen, Phil Elverum, and Alanis Morissette. She’s opened for musicians like Mitski and Japanese Breakfast, and contributed a song to the 2024 film I Saw the TV Glow. After a six-year break from solo music, during which she meticulously trained her technical skills, she’s released her latest album, Belong, which showcases her growth and leans into pop-punk territory with guest vocals from Hayley Williams of Paramore and Jim Adkins of Jimmy Eat World. Don’t miss an opening set from local artist Natalie Lew of Sea Lemon, who takes inspiration from the eerie beauty of the ocean and describes her vibe as “Costco Cocteau Twins.” (Neumos, 8 pm, all ages) JULIANNE BELL
Mudhoney, Student NurseDec 31
Perhaps this is an unpopular opinion, but Mudhoney could have retired after releasing their 1988 debut single “Touch Me I’m Sick” and still achieved god-tier status in Seattle’s—and Earth’s—underground-rock scene. The foursome’s signature song swerved into the Stooges’ Fun House and pinched Iggy’s nipples hard, while vomiting into Scott Asheton’s kickdrum. How do you follow up such a monumental first release? Well, Mudhoney have soldiered on for 37 years with the same creative nucleus of Mark Arm and Steve Turner, putting subtle variations on their thunderous garage- and psych- rock templates, augmented by abundant and astringent guitar FX. One key to their greatness is, they’re masculine, not macho. Another key is, they possess humor and self-awareness; so even though their sound hasn’t changed much, they still don’t obviously repeat themselves. The band’s riffs and melodies still sting with the vitality of musicians a third of their ages, and even their last four albums—delivered at five-year intervals—rip musically, while spanking all the right people lyrically. These gr*nge warhorses are still thoroughbreds. (Neptune Theatre, 8 pm, all ages) DAVE SEGAL
High on Fire, King WomanJan 3
Consistency, as a critique of art, may connote poorly, but in a
medium like metal, which requires an artist to retain an ungodly
amount of thunderous energy to remain true and relevant, long-term
consistency is rare. To see a High on Fire
show—guitarist/vocalist Matt Pike inevitably bare-chested and
imposing, bassist Jeff Matz gray-beardly purveying low-end sludge,
and smashing new drummer Coady Willis (who happens to be the same
Coady Willis of legendary Northwest outfits the Murder City Devils,
Big Business, and occasionally the Melvins)—is to affirm
heavy music as the lifeblood of eternal youth. The power
trio’s ninth album, 2024’s Cometh the Storm,
the first with Willis on kit, carries the same level of fire Pike
and co. originally got high on, sounding nothing like you might
expect from a group that has earned every right to have gone hoarse
and nappy by now. That angle aside, the band still stands in 2025
as a torch-bearer of crunchy sludge metal, continuing to frolic in
trippy metal pastures when similar bands of the era like Mastodon
sadly could not. (Showbox,
7 pm, all ages) TODD HAMM
Jan 14
It’s understandable if you’ve had your fill of stoic, white-guy guitarists with limited (yet pleasant) vocal ranges. But you should leave a sliver of precious time in your hectic life for Steve Gunn. What he lacks in singing prowess he makes up for in instrumental expressiveness. Gunn’s a guitarist of rare melodic elegance and deceptive soulfulness, as evidenced by his 2013 breakthrough, Time Off, which found him contending with the legacies of British psych-folk masters such as Michael Chapman and Bert Jansch. Since then, Steve’s kept busy with several collabs (Kim Gordon, Mdou Moctar, Mike Cooper, Natural Information Society, etc.) and solo works, steadily building a fan base, with help via Matador Records’ marketing might. This year, Gunn’s released Daylight Daylight and Music for Writers for the more underground No Quarter and Three Lobed labels. The former thrums with chamber-art-pop splendor; the latter zones out in glowing ambient-drone-fingerpicking space, sans vox. The Triple Door should be a copacetic setting for this music’s understated grandeur. (Triple Door, 7:30 pm, all ages) DAVE SEGAL
Monster RallyJan 16
For the past 15 years, Cleveland’s Ted Feighan has created a trove of transportive sound collages as Monster Rally. Envision your mid-century Pan Am touching down for several minutes at a time on a volcanic tiki retreat as imagined by the Loyal Order of Water Buffaloes; a bustling, sand-swept day market bearing bold spices and vibrant fabrics from across the empire; a Los Angeles Chinatown bossa nova jazz joint where the password is an inside joke. Alternately, the great thing about Monster Rally is that most of what your brain conjures when dosed with the sounds, Feighan has already made in visual form—most every release has been coupled with an extraordinary magazine cut-out piece of artwork that matches the escapist, exotically colored sounds he’s made, and his live shows are no different. By trade, a multi-instrumentalist beatmaker in the vein of Dirty Art Club, Teebs, or Madlib on his “Curls” beat shit, Feighan has chosen to open his studio for only the second time to outside vocalists (after his 2015 Foreign Pedestrians collab with Bay Area rapper Jay Stone), and the singles so far have displayed the telltale signs of crossover appeal. (Barboza, 6:30 pm, 21+) TODD HAMM
Yarn/Wire, Yiğit Kolat, Yonatan RonJan 22
The sound of avant-garde classical ensemble Yarn/Wire is in the name—fuzzy, fibrous threads interwoven with scratchy, metallic chords. Founded in NYC back in 2005, the adventurous piano/percussion quartet pushes the boundaries of contemporary music with their annual Currents project, which serves as an incubator for innovative experimental music. While their music can be unconventional, the pianos maintain a sound within the classical music realm that is accessible to the general public—meaning, yes, you can bring your parents or grandparents to this without fearing their judgment or discomfort. This is the relaxing kind of experimental music, not the chaotic kind. (Meany Hall, 7:30 pm, all ages) AUDREY VANN
Cate Le Bon, Frances ChangJan 27
I first heard Welsh musician Cate Le Bon after the release of her 2013 album, Mug Museum, and have been an unabashed fan girl ever since. Her signature sound, which I can only describe as angular, self-assured, and surreal, is a bulletproof formula that has yet to produce a bad album. Her seventh release, Michelangelo Dying, is no exception. The album is slow-paced and melancholy, with more shoegaze elements than we’ve ever seen from her before, largely due to the all-consuming heartache Le Bon experienced while making the album. The album reaches its apex on “Ride,” featuring my boyfriend John Cale (of the Velvet Underground), which is a molasses-y duet between the Welsh experimentalists bolstered by layered vocals and echoing saxophones. Singer-songwriter/poet Frances Chang will open. (Neptune Theatre, 8 pm, all ages) AUDREY VANN
MorePansy, Torch, All Friends Here Dec 3, Tractor Tavern, 8 pm, 21+
19th Annual Tom Waits Tribute Night Dec 6, Conor Byrne Pub, 8 pm, 21+
DJ Mandy Dec 6, Neumos, 10 pm, 21+
Damien Jurado’s December Residency Sundays Dec 7-28, Tractor Tavern, 7:30 pm, 21+
John Prine Christmas with Jenner Fox Band Dec 9, Tractor Tavern, 8 pm, 21+
The Intelligence, Ononos, Dish Pit Dec 10, Chop Suey, 8 pm, 21+
Acapulco Lips, New Age Healers, and iroiro Dec 11, Chop Suey, 8 pm, 21+
Thunderpussy x Mike McCready Dec 11, the Showbox, 8:30 pm, 21+
SMOOCH with Bob Mould and Blondshell Dec 13, the Showbox, 7:30 pm, 21+
Sera Cahoone Band with Carrie Biell Dec 18, Tractor Tavern, 7:30 pm, 21+
Yob with Hell Dec 18, Neumos, 7 pm, 21+
David Benoit Christmas Tribute to Charlie Brown with Courtney Fortune Dec 18-21, Jazz Alley, all ages
Jenny Don’t and the Spurs: Pre-NYE Bash Dec 30, Tractor Tavern, 8 pm, 21+
New Year’s Eve with Kenny G Dec 31, Jazz Alley, 7:30 & 10:30 pm, all ages
Bone Thugs-N-Harmony Jan 9, Crocodile, 6 pm, 21+
Madison Cunningham Jan 10, St. Mark’s Cathedral, 7:30 pm, all ages
The Residents Jan 10, Neptune Theatre, 8 pm, all ages
Seattle Retro Fest Jan 16-17, Crocodile Complex, 6 pm, 21+
Clinton Fearon Jan 17, Nectar Lounge, 8 pm, 21+
Judy Collins Jan 22-25, Jazz Alley, 7:30 pm, all ages
Karl Denson’s Tiny Universe Jan 24, Crocodile, 8 pm, 21+
WAR Jan 29-Feb 1, Jazz Alley, 7:30 pm, all ages
Early WarningsRobyn Hitchcock Feb 6, Neptune Theatre, 8 pm, all ages
GZA Feb 11, Nectar Lounge, 8 pm, 21+
Sudan Archives Feb 14, Neptune Theatre, 8 pm, all ages
The Pains of Being Pure at Heart and Living Hour Feb 16, Vera Project, 7 pm, all ages
Cat Power Feb 20, Paramount Theatre, 8 pm, all ages
Suzanne Vega Feb 22, 7:30 pm, Neptune Theatre, 7:30 pm, all ages
Cardi B: Little Miss Drama Tour Feb 22, Climate Pledge Arena, 7:30 pm, all ages
Aimee Mann: 22 ½ Lost in Space Anniversary Neptune Theatre, 8 pm, all ages
Marissa Nadler Mar 26, Tractor Tavern, 8 pm, 21+
Skullcrusher Mar 30, Barboza, 7 pm, 21+
Raye: This Tour May Contain New Music Apr 3, WAMU Theater, 8 pm, all ages
Cass McCombs with Hand Habits Apr 4, Tractor Tavern, 8:30 pm, 21+
Waxahatchee with MJ Lenderman May 3, Paramount Theatre, 7:30 pm, all ages
Guido Günther: Free Software Activities November 2025 [Planet Debian]

Another short status update of what happened on my side last month. Hand holding the release machinery for Phosh 0.51.0 but there's more:
See below for details on the above and more:
DebugControl interface (MR)org.freedesktop.FileManager1 in the demo
(MR,
MR,
MR)make run invocation (MR)None for parent in
adw_dialog_choose (MR)This is not code by me but reviews on other peoples code. The list is (as usual) slightly incomplete. Thanks for the contributions!
If you want to support my work see donations.
Join the Fediverse thread
The Stranger’s Holiday Drink Week Is Almost Here! [The Stranger]
The Stranger's Holiday Drink Week is back, baby. by The
Stranger's Promotions Department Ready to get your nog
on? The
Stranger’s Holiday Drink Week is back, serving up a
citywide lineup of festive libations that put mulled wine and
spiked hot chocolate to shame. And once again, every drink is just
$12! For a full week, from December 8 through 14,
participating bars and restaurants roll out exclusive
holiday-themed cocktails ranging from cozy classics to creative
“cups of cheer” you will not find on their normal menu.
Round up your band of merry fools for this year’s self-guided
winter bar crawl!
Spiced Cranberry Orange Mule from Big Mario’s
New York Pizza’s Uptown location New to
Holiday Drink Week? Never fear! Just head to our
handy map to get a lay of the land. Then choose your own
booze-venture as you head out into the world for delicious
cocktails! And don’t forget to follow and tag yourself
on our
IG account with #strangerholidaydrinkweek!
Slog AM: Trump Shuts Down Asylum Claims, SNAP Benefits Are Under Threat Again, Women's Hockey Finally Comes to Seattle [The Stranger]
The Stranger's Morning New Roundup by Hannah Murphy Winter
It’s December. Which is rude. Didn’t the election just happen? The weather got the memo, though. Expect clouds all week, and we’ll have rain off and on. But! We’ve got a break this morning, so get outside before the sun goes down at 4:20 p.m.
National Guard Shooting: On Wednesday afternoon, after driving across the country from Bellingham, a 29-year-old Afghan national named Rahmanullah Lakanwal allegedly shot two National Guard members in DC. One, Sarah Beckstrom, was killed, and the other, Andrew Wolfe, is still in critical condition. Lakanwal has been charged with first-degree murder.
What We Know: Lakanwal came to the US during the chaotic troop withdrawal from Afghanistan, as part of a program to resettle Afghan citizens who had worked with the US military in the war. He’d been part of the Zero Units, military units that worked with the CIA, conducting night raids. His motive is still unclear, but it is clear that he was struggling with his mental health before the shooting. According to emails written by a caseworker who was helping him and his family settle in the US, he was struggling to find work. He’d isolated himself in his bedroom, even from his wife and five kids. And he had manic episodes where he would take off for weeks with the family car.
The Fallout: After the shooting, Trump said on Truth Social that he planned to "permanently pause migration from all Third World Countries” and “remove anyone who is not a net asset to the United States.” He’s already stopped all asylum decisions, and yesterday, Trump told reporters that he expected the situation to last “for a long time.”
Just the (Unsexy) Tips: Trump followed through with his campaign promise to stop taxing tips, but now there’s a caveat: the IRS doesn’t want to give that tax break to anyone doing “pornographic activity.” And specifically, that means OnlyFans tips don’t count. On the bright side, though, some of the tax professionals think the IRS will have a hard time spotting porn in your tax filing.
Trump Doesn’t Know What Part of His Body Was Scanned: And he doesn’t know why. But he knows the MRI was “perfect.” He told reporters that if they wanted the MRI released, he’d release it. *crickets*
SNAP Benefits Are Under Threat: Again. The USDA seems to think they’ve uncovered “massive fraud” in the SNAP program, which currently helps feed 42 million people in the US, and says they’re releasing information about a massive restructure of the program this week. It’s not clear what those changes will be yet, but the USDA did submit draft regulation to the Office of Management and Budget that tried to roll back the long-standing rule that allows anyone on welfare to access the program.
Rubber Hits the Road: But not like that. Seattle is the first city to test out bike lane barriers made out of recycled tires. The barriers are made out of bricks of rubber, about 12 inches tall, and a few feet long. Each brick is about 100 pounds, and made from a whole car’s worth of tires. Turns out, most “recycled” tires are just burned or incinerated. Now, instead, they get to replace the flimsy barriers made of just paint and plastic bollards.
Some Bad News for E-Bike Riders: First, we found out that Rad Power Bikes is probably going out of business in January. Then we found out their batteries should probably be recalled for lighting on fire if they get too wet, but the company is too broke for a proper recall. And this weekend, NYT Magazine dove into the e-bike injuries we’re not really keeping track of. According to one hospital in California, their patients’ chance of dying in a conventional bike crash is less than 1 percent. But if you slap a motor on that baby, it goes up to 11 percent. Right now, e-bikes are allowed to go up to 20 mph and still stay in bike lanes. In Europe, it’s around 15 mph. “The technology has moved forward way faster than our ability to measure its impact or develop sensible regulation,” one public health officer told NYT Mag.
But Good News for Train Riders: Three new light rail stations are opening on Saturday, December 6: Kent Des Moines, Star Lake, and Federal Way Downtown. Our southern extension adds almost 8 miles to the 1 Line, and Sound Transit expects it to add as many as 23,000 riders on an average weekday. Maybe it’s finally time to visit the Masonic building in Des Moines that’s haunted by some ghost named George.
Danny Westneat Keeps Saying Things: And this week, Seattle Times’ NIMBY columnist’s take is about King County’s plan to buy up hotels during the pandemic and house people there. The column fixates on one really bad purchase the County made: the Inn at Queen Anne. First, they overpaid for it, by some 75 percent. Then the hotel turned out to be in far worse shape than the County was originally told, and after closing it down room by room, the whole place is now shuttered and wrapped in razor wire. That sucks. A lot. But it’s just one building in a county-wide program. What seems far more important is that the program has fallen massively short of its promises. The county was supposed to have 1,600 units open by the end of 2022. As of now, they have 600 units open. With at least 9,800 people sleeping unsheltered in King County, we need those units yesterday.
Four teenagers were arrested after stealing a car and firing a gun at a cop on I-5. No one was injured, but a nearby car was hit, leaving bullet fragments in a witness’s lap. SPD is still looking for two teens who fled the scene.
Seattle’s Big One: The big race, that is. The Seattle Marathon was yesterday, and more than 8,000 runners took on the 26.2 mile route. This year’s map looked a little different. Instead of running through Capitol Hill, on the I-5 express lanes, and around Green Lake, runners looped around Magnolia. The Seattle Times cataloged some Facebook posts from residents who were not pleased about the traffic disruptions: “The reason for the ellipses in the excerpts from comments is that they contained, shall we say, unrestrained language?”
The Torrent Comes Home for the First Time: Seattle’s brand-new professional women’s hockey team played their first home game on Friday. The Torrent lost 0-3, but in all fairness, the team has only existed for a few weeks, and they were playing the Minnesota Frost, who have won the Walter Cup (the Stanley Cup, but for ladies) both years that the PWHL has existed. And while we may not have won the game, Seattle fans showed up in force. We broke the league record with 16,014 people in the stands. Their next game is on Wednesday, December 3 against the New York Sirens. Get out there.
View this post on Instagram
| Feed | RSS | Last fetched | Next fetched after |
|---|---|---|---|
| @ASmartBear | XML | 16:35, Friday, 05 December | 17:16, Friday, 05 December |
| a bag of four grapes | XML | 16:42, Friday, 05 December | 17:24, Friday, 05 December |
| Ansible | XML | 16:35, Friday, 05 December | 17:15, Friday, 05 December |
| Bad Science | XML | 16:35, Friday, 05 December | 17:24, Friday, 05 December |
| Black Doggerel | XML | 16:35, Friday, 05 December | 17:16, Friday, 05 December |
| Blog - Official site of Stephen Fry | XML | 16:35, Friday, 05 December | 17:24, Friday, 05 December |
| Charlie Brooker | The Guardian | XML | 16:42, Friday, 05 December | 17:24, Friday, 05 December |
| Charlie's Diary | XML | 16:49, Friday, 05 December | 17:37, Friday, 05 December |
| Chasing the Sunset - Comics Only | XML | 16:35, Friday, 05 December | 17:24, Friday, 05 December |
| Coding Horror | XML | 16:49, Friday, 05 December | 17:36, Friday, 05 December |
| Cory Doctorow's craphound.com | XML | 16:42, Friday, 05 December | 17:24, Friday, 05 December |
| Cory Doctorow, Author at Boing Boing | XML | 16:35, Friday, 05 December | 17:16, Friday, 05 December |
| Ctrl+Alt+Del Comic | XML | 16:49, Friday, 05 December | 17:37, Friday, 05 December |
| Cyberunions | XML | 16:35, Friday, 05 December | 17:24, Friday, 05 December |
| David Mitchell | The Guardian | XML | 16:49, Friday, 05 December | 17:32, Friday, 05 December |
| Deeplinks | XML | 16:49, Friday, 05 December | 17:33, Friday, 05 December |
| Diesel Sweeties webcomic by rstevens | XML | 16:49, Friday, 05 December | 17:32, Friday, 05 December |
| Dilbert | XML | 16:35, Friday, 05 December | 17:24, Friday, 05 December |
| Dork Tower | XML | 16:42, Friday, 05 December | 17:24, Friday, 05 December |
| Economics from the Top Down | XML | 16:49, Friday, 05 December | 17:32, Friday, 05 December |
| Edmund Finney's Quest to Find the Meaning of Life | XML | 16:49, Friday, 05 December | 17:32, Friday, 05 December |
| EFF Action Center | XML | 16:49, Friday, 05 December | 17:32, Friday, 05 December |
| Enspiral Tales - Medium | XML | 16:49, Friday, 05 December | 17:34, Friday, 05 December |
| Events | XML | 16:49, Friday, 05 December | 17:37, Friday, 05 December |
| Falkvinge on Liberty | XML | 16:49, Friday, 05 December | 17:37, Friday, 05 December |
| Flipside | XML | 16:42, Friday, 05 December | 17:24, Friday, 05 December |
| Flipside | XML | 16:49, Friday, 05 December | 17:34, Friday, 05 December |
| Free software jobs | XML | 16:35, Friday, 05 December | 17:15, Friday, 05 December |
| Full Frontal Nerdity by Aaron Williams | XML | 16:49, Friday, 05 December | 17:37, Friday, 05 December |
| General Protection Fault: Comic Updates | XML | 16:49, Friday, 05 December | 17:37, Friday, 05 December |
| George Monbiot | XML | 16:49, Friday, 05 December | 17:32, Friday, 05 December |
| Girl Genius | XML | 16:49, Friday, 05 December | 17:32, Friday, 05 December |
| Groklaw | XML | 16:49, Friday, 05 December | 17:37, Friday, 05 December |
| Grrl Power | XML | 16:42, Friday, 05 December | 17:24, Friday, 05 December |
| Hackney Anarchist Group | XML | 16:35, Friday, 05 December | 17:24, Friday, 05 December |
| Hackney Solidarity Network | XML | 16:49, Friday, 05 December | 17:34, Friday, 05 December |
| http://blog.llvm.org/feeds/posts/default | XML | 16:49, Friday, 05 December | 17:34, Friday, 05 December |
| http://calendar.google.com/calendar/feeds/q7s5o02sj8hcam52hutbcofoo4%40group.calendar.google.com/public/basic | XML | 16:35, Friday, 05 December | 17:15, Friday, 05 December |
| http://dynamic.boingboing.net/cgi-bin/mt/mt-cp.cgi?__mode=feed&_type=posts&blog_id=1&id=1 | XML | 16:49, Friday, 05 December | 17:34, Friday, 05 December |
| http://eng.anarchoblogs.org/feed/atom/ | XML | 16:49, Friday, 05 December | 17:35, Friday, 05 December |
| http://feed43.com/3874015735218037.xml | XML | 16:49, Friday, 05 December | 17:35, Friday, 05 December |
| http://flatearthnews.net/flatearthnews.net/blogfeed | XML | 16:35, Friday, 05 December | 17:16, Friday, 05 December |
| http://fulltextrssfeed.com/ | XML | 16:49, Friday, 05 December | 17:32, Friday, 05 December |
| http://london.indymedia.org/articles.rss | XML | 16:49, Friday, 05 December | 17:36, Friday, 05 December |
| http://pipes.yahoo.com/pipes/pipe.run?_id=ad0530218c055aa302f7e0e84d5d6515&_render=rss | XML | 16:49, Friday, 05 December | 17:35, Friday, 05 December |
| http://planet.gridpp.ac.uk/atom.xml | XML | 16:49, Friday, 05 December | 17:36, Friday, 05 December |
| http://shirky.com/weblog/feed/atom/ | XML | 16:49, Friday, 05 December | 17:33, Friday, 05 December |
| http://thecommune.co.uk/feed/ | XML | 16:49, Friday, 05 December | 17:34, Friday, 05 December |
| http://theness.com/roguesgallery/feed/ | XML | 16:49, Friday, 05 December | 17:37, Friday, 05 December |
| http://www.airshipentertainment.com/buck/buckcomic/buck.rss | XML | 16:35, Friday, 05 December | 17:24, Friday, 05 December |
| http://www.airshipentertainment.com/growf/growfcomic/growf.rss | XML | 16:49, Friday, 05 December | 17:33, Friday, 05 December |
| http://www.airshipentertainment.com/myth/mythcomic/myth.rss | XML | 16:42, Friday, 05 December | 17:24, Friday, 05 December |
| http://www.baen.com/baenebooks | XML | 16:49, Friday, 05 December | 17:33, Friday, 05 December |
| 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 | 16:49, Friday, 05 December | 17:33, Friday, 05 December |
| http://www.godhatesastronauts.com/feed/ | XML | 16:49, Friday, 05 December | 17:37, Friday, 05 December |
| http://www.tinycat.co.uk/feed/ | XML | 16:35, Friday, 05 December | 17:15, Friday, 05 December |
| https://anarchism.pageabode.com/blogs/anarcho/feed/ | XML | 16:49, Friday, 05 December | 17:33, Friday, 05 December |
| https://broodhollow.krisstraub.comfeed/ | XML | 16:35, Friday, 05 December | 17:16, Friday, 05 December |
| https://debian-administration.org/atom.xml | XML | 16:35, Friday, 05 December | 17:16, Friday, 05 December |
| https://elitetheatre.org/ | XML | 16:49, Friday, 05 December | 17:36, Friday, 05 December |
| https://feeds.feedburner.com/Starslip | XML | 16:42, Friday, 05 December | 17:24, Friday, 05 December |
| https://feeds2.feedburner.com/GeekEtiquette?format=xml | XML | 16:49, Friday, 05 December | 17:32, Friday, 05 December |
| https://hackbloc.org/rss.xml | XML | 16:35, Friday, 05 December | 17:16, Friday, 05 December |
| https://kajafoglio.livejournal.com/data/atom/ | XML | 16:35, Friday, 05 December | 17:24, Friday, 05 December |
| https://philfoglio.livejournal.com/data/atom/ | XML | 16:49, Friday, 05 December | 17:36, Friday, 05 December |
| https://pixietrixcomix.com/eerie-cutiescomic.rss | XML | 16:49, Friday, 05 December | 17:36, Friday, 05 December |
| https://pixietrixcomix.com/menage-a-3/comic.rss | XML | 16:49, Friday, 05 December | 17:33, Friday, 05 December |
| https://propertyistheft.wordpress.com/feed/ | XML | 16:35, Friday, 05 December | 17:15, Friday, 05 December |
| https://requiem.seraph-inn.com/updates.rss | XML | 16:35, Friday, 05 December | 17:15, Friday, 05 December |
| https://studiofoglio.livejournal.com/data/atom/ | XML | 16:49, Friday, 05 December | 17:35, Friday, 05 December |
| https://thecommandline.net/feed/ | XML | 16:49, Friday, 05 December | 17:35, Friday, 05 December |
| https://torrentfreak.com/subscriptions/ | XML | 16:49, Friday, 05 December | 17:32, Friday, 05 December |
| https://web.randi.org/?format=feed&type=rss | XML | 16:49, Friday, 05 December | 17:32, Friday, 05 December |
| https://www.dcscience.net/feed/medium.co | XML | 16:35, Friday, 05 December | 17:24, Friday, 05 December |
| https://www.DropCatch.com/domain/steampunkmagazine.com | XML | 16:35, Friday, 05 December | 17:16, Friday, 05 December |
| https://www.DropCatch.com/domain/ubuntuweblogs.org | XML | 16:49, Friday, 05 December | 17:35, Friday, 05 December |
| https://www.DropCatch.com/redirect/?domain=DyingAlone.net | XML | 16:49, Friday, 05 December | 17:36, Friday, 05 December |
| https://www.freedompress.org.uk:443/news/feed/ | XML | 16:49, Friday, 05 December | 17:37, Friday, 05 December |
| https://www.goblinscomic.com/category/comics/feed/ | XML | 16:35, Friday, 05 December | 17:15, Friday, 05 December |
| https://www.loomio.com/blog/feed/ | XML | 16:49, Friday, 05 December | 17:35, Friday, 05 December |
| https://www.newstatesman.com/feeds/blogs/laurie-penny.rss | XML | 16:35, Friday, 05 December | 17:16, Friday, 05 December |
| https://www.patreon.com/graveyardgreg/posts/comic.rss | XML | 16:49, Friday, 05 December | 17:36, Friday, 05 December |
| 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 | 16:49, Friday, 05 December | 17:32, Friday, 05 December |
| https://x.com/statuses/user_timeline/22724360.rss | XML | 16:35, Friday, 05 December | 17:15, Friday, 05 December |
| Humble Bundle Blog | XML | 16:49, Friday, 05 December | 17:36, Friday, 05 December |
| I, Cringely | XML | 16:49, Friday, 05 December | 17:37, Friday, 05 December |
| Irregular Webcomic! | XML | 16:35, Friday, 05 December | 17:16, Friday, 05 December |
| Joel on Software | XML | 16:49, Friday, 05 December | 17:35, Friday, 05 December |
| Judith Proctor's Journal | XML | 16:35, Friday, 05 December | 17:15, Friday, 05 December |
| Krebs on Security | XML | 16:35, Friday, 05 December | 17:16, Friday, 05 December |
| Lambda the Ultimate - Programming Languages Weblog | XML | 16:35, Friday, 05 December | 17:15, Friday, 05 December |
| Looking For Group | XML | 16:49, Friday, 05 December | 17:33, Friday, 05 December |
| LWN.net | XML | 16:35, Friday, 05 December | 17:16, Friday, 05 December |
| Mimi and Eunice | XML | 16:49, Friday, 05 December | 17:34, Friday, 05 December |
| Neil Gaiman's Journal | XML | 16:35, Friday, 05 December | 17:15, Friday, 05 December |
| Nina Paley | XML | 16:49, Friday, 05 December | 17:36, Friday, 05 December |
| O Abnormal – Scifi/Fantasy Artist | XML | 16:49, Friday, 05 December | 17:34, Friday, 05 December |
| Oglaf! -- Comics. Often dirty. | XML | 16:49, Friday, 05 December | 17:37, Friday, 05 December |
| Oh Joy Sex Toy | XML | 16:49, Friday, 05 December | 17:33, Friday, 05 December |
| Order of the Stick | XML | 16:49, Friday, 05 December | 17:33, Friday, 05 December |
| Original Fiction Archives - Reactor | XML | 16:42, Friday, 05 December | 17:24, Friday, 05 December |
| OSnews | XML | 16:49, Friday, 05 December | 17:34, Friday, 05 December |
| Paul Graham: Unofficial RSS Feed | XML | 16:49, Friday, 05 December | 17:34, Friday, 05 December |
| Penny Arcade | XML | 16:42, Friday, 05 December | 17:24, Friday, 05 December |
| Penny Red | XML | 16:49, Friday, 05 December | 17:34, Friday, 05 December |
| PHD Comics | XML | 16:35, Friday, 05 December | 17:24, Friday, 05 December |
| Phil's blog | XML | 16:49, Friday, 05 December | 17:37, Friday, 05 December |
| Planet Debian | XML | 16:49, Friday, 05 December | 17:34, Friday, 05 December |
| Planet GNU | XML | 16:35, Friday, 05 December | 17:16, Friday, 05 December |
| Planet Lisp | XML | 16:35, Friday, 05 December | 17:24, Friday, 05 December |
| Pluralistic: Daily links from Cory Doctorow | XML | 16:35, Friday, 05 December | 17:15, Friday, 05 December |
| PS238 by Aaron Williams | XML | 16:49, Friday, 05 December | 17:37, Friday, 05 December |
| QC RSS | XML | 16:49, Friday, 05 December | 17:36, Friday, 05 December |
| Radar | XML | 16:42, Friday, 05 December | 17:24, Friday, 05 December |
| RevK®'s ramblings | XML | 16:49, Friday, 05 December | 17:35, Friday, 05 December |
| Richard Stallman's Political Notes | XML | 16:35, Friday, 05 December | 17:24, Friday, 05 December |
| Scenes From A Multiverse | XML | 16:49, Friday, 05 December | 17:36, Friday, 05 December |
| Schneier on Security | XML | 16:35, Friday, 05 December | 17:15, Friday, 05 December |
| SCHNEWS.ORG.UK | XML | 16:49, Friday, 05 December | 17:33, Friday, 05 December |
| Scripting News | XML | 16:42, Friday, 05 December | 17:24, Friday, 05 December |
| Seth's Blog | XML | 16:49, Friday, 05 December | 17:35, Friday, 05 December |
| Skin Horse | XML | 16:42, Friday, 05 December | 17:24, Friday, 05 December |
| Spinnerette | XML | 16:49, Friday, 05 December | 17:33, Friday, 05 December |
| Tales From the Riverbank | XML | 16:35, Friday, 05 December | 17:24, Friday, 05 December |
| The Adventures of Dr. McNinja | XML | 16:49, Friday, 05 December | 17:34, Friday, 05 December |
| The Bumpycat sat on the mat | XML | 16:35, Friday, 05 December | 17:15, Friday, 05 December |
| The Daily WTF | XML | 16:49, Friday, 05 December | 17:35, Friday, 05 December |
| The Monochrome Mob | XML | 16:35, Friday, 05 December | 17:16, Friday, 05 December |
| The Non-Adventures of Wonderella | XML | 16:49, Friday, 05 December | 17:32, Friday, 05 December |
| The Old New Thing | XML | 16:49, Friday, 05 December | 17:33, Friday, 05 December |
| The Open Source Grid Engine Blog | XML | 16:49, Friday, 05 December | 17:36, Friday, 05 December |
| The Stranger | XML | 16:49, Friday, 05 December | 17:34, Friday, 05 December |
| towerhamletsalarm | XML | 16:49, Friday, 05 December | 17:35, Friday, 05 December |
| Twokinds | XML | 16:42, Friday, 05 December | 17:24, Friday, 05 December |
| UK Indymedia Features | XML | 16:42, Friday, 05 December | 17:24, Friday, 05 December |
| Uploads from ne11y | XML | 16:49, Friday, 05 December | 17:35, Friday, 05 December |
| Uploads from piasladic | XML | 16:49, Friday, 05 December | 17:32, Friday, 05 December |
| Use Sword on Monster | XML | 16:49, Friday, 05 December | 17:36, Friday, 05 December |
| Wayward Sons: Legends - Sci-Fi Full Page Webcomic - Updates Daily | XML | 16:49, Friday, 05 December | 17:35, Friday, 05 December |
| what if? | XML | 16:35, Friday, 05 December | 17:16, Friday, 05 December |
| Whatever | XML | 16:35, Friday, 05 December | 17:24, Friday, 05 December |
| Whitechapel Anarchist Group | XML | 16:35, Friday, 05 December | 17:24, Friday, 05 December |
| WIL WHEATON dot NET | XML | 16:49, Friday, 05 December | 17:33, Friday, 05 December |
| wish | XML | 16:49, Friday, 05 December | 17:34, Friday, 05 December |
| Writing the Bright Fantastic | XML | 16:49, Friday, 05 December | 17:33, Friday, 05 December |
| xkcd.com | XML | 16:49, Friday, 05 December | 17:32, Friday, 05 December |