Richard Stallman
Losing track of a prisoner

Prisons in the US sometimes lose track of a prisoner, making it impossible for relatives and lawyers to contact per. The result is terrible. This article focuses on Malik Muhammad; Oregon sent per into a South Carolina prison and per family could not tell where perse was.

I found this article gratuitously hard to understand because of its unannounced and unexplained use of plural pronouns to refer to Malik Muhammad. For each plural pronoun there was some group of people that it could have referred to. I had almost reached the end before I realized I had been misunderstanding over and over.

This sort of problem is part of the reason why I completely reject use of plural pronouns for an individual. For the situations where I don't know someone's gender, and for people who assert non binary gender, I use gender less singular pronouns.

We should all switch to them, to make our speech and writing easier to understand.

Posted
Richard Stallman
Palestinian detainees in Israeli jails

Palestinians testify about being beaten and raped in Israeli prisons.

No matter what the reason for putting someone in prison, even if it was a sentence resulting from a fair trial, torturing per is never justified.

Posted
Richard Stallman
Sea level rise

Summarizing the state of protecting the oceans, both surface and bottom, from damage by human society.

Posted
Richard Stallman
Urgent: USPS vote by mail rule

US citizens: call on USPS to withdraw its proposed limits on who can vote by mail.

See the instructions for how to sign this letter campaign without running any nonfree JavaScript code — not trivial, but not hard.

Posted
Richard Stallman
Urgent: reject Bill Pulte for Director

US citizens: call on your senators to reject Bill Pulte for Director of National Intelligence.

See the instructions for how to sign this letter campaign without running any nonfree JavaScript code — not trivial, but not hard.

Posted
Richard Stallman
Urgent: Save the World Cup Act

US citizens: call on your congresscritter and senators to pass the Save the World Cup Act, which would protect World Cup soccer games from the deportation thugs.

See the instructions for how to sign this letter campaign without running any nonfree JavaScript code--not trivial, but not hard.

Here is the message I sent.

Normally I would not write to you about sports activities, but this is about protecting the public.

Soccer is popular across most of the world, more than in the US. So soccer matches in the US will be ideal bait to catch and persecute anyone that grew up elsewhere. If deportation thugs can haunt World Cup games, they will surely deport refugees waiting for asylum hearings, residents with visas, even naturalized citizens, not just unauthorized visitors.

Please support efforts to protect the public from them. Don´t let them put knock-out drops in the world´s cup!

US citizens: Join with this campaign to address this issue.

To phone your congresscritter about this, the main switchboard is +1-202-224-3121.

Please spread the word.

Posted
jwz (Jamie Zawinski)
433 MHz remote from cron
Dear Lazyweb,

I have a device that pairs with a 433 MHz remote control, and I wish to control it from the command line. What is the simplest way?

I would like, for example, to buy an object that can memorize the remote's codes, and send them in response to an HTTP request.

Solutions that involve Siri, Alexa or services in The Clown will be rejected out of hand. I am also not enthusiastic about being forced to buy in to some massive "home automation" ecosystem. I have only two buttons that I want to press.

jwz (Jamie Zawinski)
Like Gerald Ford and George H. W. Bush, I am no stranger to plumbing problems
It's Only a $13 Billion Aircraft Carrier, Why Would We Expect the Toilets to Work?

The 600 toilets aboard the USS Gerald Ford, the "most advanced" and most recent aircraft carrier in the U.S. fleet, have represented a near incalculable headache for the Navy during its just finished, nearly unprecedented 11-month deployment, and their constant breakdowns have already become the stuff of military legend. [...]

The previous Nimitz-class supercarrier USS George H.W. Bush had been built with a similar "high tech" vacuum suction system, and it too had a reputation for disastrous breakdowns, rendering every toilet on the entire ship inoperable on several occasions. The system on the Ford likewise has the added bonus of being a new design untested at this scale in the field: The Vacuum Collection, Holding and Transfer (VCHT) system is unique to the new Ford class of aircraft carriers, with this ship being the first of its kind. [...]

It suffered a devastating laundry fire on March 12, 2026 that burned for 30 hours and injured more than 200 sailors, and eventually limped to Crete in disgrace to undergo emergency repairs. Now, it returns to Virginia for more in-depth repairs related to the laundry room fire, and to address the persistent bugaboo that generated headlines during its entire deployment: The fact that hundreds of its toilets were routinely inoperable at any given time.

And when I say "inoperable," I mean "incredibly easy to fuck up." Really, it's difficult to overstate just how fragile the toilet system aboard the USS Gerald Ford has ultimately proven to be, as detailed in a few pieces in NPR that published emails and communications from the ship itself, sourced via the Freedom of Information Act.

"Our sewage system is being mistreated and destroyed by Sailors on a daily basis," complained one hull maintenance technician (HTs), the class of engineering department worker tasked with responding to an endless series of trouble calls. "My HT's are currently working 19 hours a day right now trying to keep up with the demand."

According to NPR, the single most common problem is "a valve at the back of the toilets that can be knocked loose, and cause all of the toilets in one of 10 zones to lose suction." Yes, you're reading that right -- if a sailor happens to sit on the toilet wrong, or bumps into it, it can result in dozens or hundreds of other toilets throughout the ship immediately becoming inoperable. [...]

The hull maintenance techs essentially live in ceaseless toilet repair mode. At one point in March, 2025, the engineering department noted to its chiefs in an email that there had been 205 breakdowns over the course of FOUR DAYS. Has anyone actually successfully relieved themselves on this ship, or do they all just get used to holding it?

Many of the problems, as you might expect, end up being the sort of foolishness you would expect from a crew of thousands who might otherwise be shotgunning beers in a dorm, if they weren't here. Technicians report finding all manner of wrongfully flushed objects blocking the especially narrow vacuum pipes, including T-shirts and "a 4-foot piece of rope," according to an August 2025 complaint.

Previously, previously, previously, previously, previously, previously, previously, previously, previously, previously, previously.

jwz (Jamie Zawinski)
Today in the scraperpocalypse...
It has become more frequent for someone to contact me saying "I can't access your sites from my phone / cable modem", and on the few occasions when they tell me what their IP is, it turns out that, yup, that IP did some extremely obvious AI scraper bullshit and got shitcanned for a month.

I have no way of knowing how often collateral damage like this happens, since by definition they aren't connecting to my site afterward. But anecdotally, telcos and cable companies seem to have short leases and I seem to be banning a lot of them.

If I don't block these scrapers but merely serve them nonsense, my web site falls over.

I have no idea what to do about this, and it sucks.

(And neither do you.)

(Do not suggest Anubis, because proof of work is fundamentally inflationary, wasteful bullshit that will never work because the attacker can always outspend you.)

(Do not suggest Clownflare because they are Nazis.)

Previously, previously, previously, previously, previously, previously, previously.

jwz (Jamie Zawinski)
In case you needed one more reason to shake an angry fist at Bezos
Joseph Mallozzi: Stargate cancelled, for the fourth and likely final time.

Creator Martin Gero developed a new Stargate series over two years, ultimately crafting a show that offered a fresh jumping-on point for new viewers while deeply respecting existing canon. It was a series that avoided the pitfalls of several modern remakes and reboots by fully embracing the core of its predecessors: action, adventure, exploration, wonder, heart, humor, and found family. And based on that creative vision, the new Stargate series was greenlit in November of 2025.

As of today, officially, that original vision is no more. We'll never get the opportunity to introduce you to that world and those characters -- or reintroduce you to, and check in with, some familiar faces from the past.

My heart breaks. For the incredibly talented writers who worked tirelessly to bring this show to life. For Martin who maintained an unwavering positive outlook throughout despite the challenges, and who always strove to make a show that would honor the fans while welcoming a new audiences. And for the long-suffering Stargate fandom who waited so long and came so close to getting a show they truly would have loved.

Previously, previously, previously, previously, previously, previously, previously.

Bram Cohen
A Guide to the Basics of Programming (Including Using AI)

This is a guide programming for people who know already how to code. It explains the craft, including new parts related to AI. It is not a guide to ‘vibe’ coding, which is when someone who doesn’t know how to code at all uses an AI coder, or ‘agentic’ coding, which is when the machine does much longer self-directed runs. This only explains the basics of using AI as a coding assistant, so you’ll be limited to a mere 10x improvement in your productivity. Agentic coding can, under some circumstances, produce much greater gains, but it more often results in people having reams of worthless code and a mindset somewhere between delusion and psychosis.

Practices from before AI: Test Driven Development

Code must first and foremost be high quality. In some ways this is more art than science, but many specific things can be done, including:

  • Code should be well organized.

  • It should not have repetitive sections which can be consolidated into a single thing.

  • It should be organized into coherent modules. Maintenance should usually only require changes within one module. Making this happen is again more art than science, but generally related functionality should all be within a single module.

The number one rule for high-quality code is no broken windows. If you have any known bugs, you should drop everything and fix them. Do not debate whether it should be done now or later. Simply fix it. Only very hard to reproduce bugs should ever be allowed to persist in the codebase for more than a fleeting moment. If you let a bug fester in the codebase when you get around to fixing it you will find out you don’t have one bug; you have ten bugs, all with the same symptom.

Write extensive tests. Make the tests run fast enough that you run all of them constantly. Ideally, all tests run in less than a minute, and you run them before every single commit. Have a policy that you don’t move forward until every single test passes. Tests should achieve good code coverage. How much is good is not clear, but 100% by lines is often achievable. You want tests to continue to work unchanged across code changes as much as possible, and you also want them to run through reasonable scenarios rather than simply asserting that the code is exactly what it is. This is generally done by using the APIs as designed,, both at the module level and application level, running them through a variety of different scenarios. Don’t make your tests simply assert that the code is exactly what it happens to be right now.

The cycle of programming is that you decide what you’re going to do. You design your APIs and algorithms and what your test scenarios are going to be. Then you turn off your brain and you implement the code and you implement the tests and you run the tests repeatedly until they all pass. What order you do those things in and how large of a unit that you do at once is the subject of many religious wars, but the general framework of test-driven development is universally viewed as a good thing. The details often come down to personal preferences and the needs of the project.

Using AI

All of the above still applies when using AI coding assistance, but now there are new parts of the process. First and foremost, for AI to be able to work effectively on a project, there must be extensive up-to-date documentation. The AI is coming on as a new employee at the beginning of every single conversation, figuring out what’s going on by reading the code. Historically, code was mostly written by human beings who had extensive knowledge of the code they were working on, so documentation wasn’t particularly necessary, or helpful. But AI can read documentation a lot faster than humans can and critically needs it.

Thankfully, in addition to needing documentation, AI is very good at writing documentation. If you have a project which doesn’t currently have any documentation, you can ask AI to get it started for you. You shouldn’t take what it builds without review, but what it comes up with is a good start. You can then read through the documentation yourself and note any things which seem off. When something does seem off, this means one of three things:

  • The documentation is wrong

  • The code is bad

  • Your understanding of it is wrong

It’s important to figure out which one of those three applies and fix it. The AI, of course, is very good at helping you figure this out. You should also mention higher level things which you think aren’t already in the docs to the AI and explain them to it. The AI is very good at figuring out whether they’re already in the docs and incorporating. It’s also good at getting clarification, mostly by echoing what you said back to you badly and getting corrected.

Once there are project docs, the AI should be given instructions to read them at the beginning of every session and to update them as necessary after every change. Docs can quickly get to the point where AI will refuse to read the whole thing because doing that will blow their whole window, but they can be organized. Make an overview doc which links to other docs which the AI can individually read when the task at hand requires it. AI is also very good at auditing docs to see if they have become stale by comparing them and the code.

The code/test cycle includes some new steps when using AI. Most of the typing is now the machine’s responsibility. At the start of every task, you should put the AI in ask mode. Otherwise it will run ahead and start coding before it understands what’s going on. You then get into a conversation with the AI about something that needs to be done or something that’s problematic in the code, or how you’re having a bad day or how someone was mean to you once in high school. The AI is in ask mode. It’s okay to vent. It can’t do anything crazy. Once the conversation has coalesced into a general idea of what you want to do, you then tell the AI all relevant context and details of implementation that come to mind. It will respond by trying to repeat back what you said to it, but badly, and you have to correct it a lot. Once you’ve run out of details to give it about context and what to do, and it’s gone a few rounds of conversation without saying anything which needs to be corrected, you should tell it to make a plan, which is a fancy term for a to-do list. It’s a good idea to skim/read the plan, but it usually gets it right on the first pass if you’ve already had an extensive conversation. Plans should always include:

  • running all extant tests until everything passes

  • updating the architecture docs

Once that’s done, you tell it to build the plan, and it will usually ‘one-shot’ it, although calling it one-shotting after you’ve spent two hours explaining in an interactive conversation is very misleading. If it starts flailing you usually have to stop it and help it get back on track because it tends to get increasingly worse once it goes off the rails.

Subscribe now

Posted
jwz (Jamie Zawinski)
"Blink twice if Zuckerberg is an asshole"
Facebook whistleblower Sarah Wynn-Williams was forced to sit in silence on stage at an event at Hay festival, after lawyers advised her not to speak because of ongoing legal action brought by Meta.

Wynn-Williams, whose bestselling memoir, Careless People, details her years working at Facebook, was due to appear in conversation with the investigative journalist Carole Cadwalladr and academic Tim Wu.

Instead, Wynn-Williams sat on stage for the duration of the hour-long discussion between Cadwalladr and Wu, without speaking or responding. She was unable even to nod or shake her head.

Introducing the panel, Cadwalladr said: "I think this might be a Hay first, in which we have an author in a hostage situation. Blink once if you can hear us, Sarah, twice if Zuckerberg is an asshole." [...]

During the event, Cadwalladr read a letter from Wynn-Williams' lawyers outlining the company's latest legal claims. The letter stated that, in March 2026, Meta filed a sanctions motion alleging that Wynn-Williams violates the emergency arbitration order "any time she appears in public in a place where she should know that her book is available for sale and her presence might draw attention to it".

Previously, previously, previously, previously, previously, previously, previously, previously, previously, previously.


Planet Debian upstream is hosted by Branchable.