jwz (Jamie Zawinski)
DNA Lounge: Wherein I have some thoughts on food delivery apps
Yesterday I mentioned that DNA Pizza takes online delivery orders again, after a year-long hiatus. Hooray...

Perhaps it has been long enough since I talked about deliveries that you have forgotten how terrible everything has been! Let's recap!

We opened DNA Pizza in 2011, and from then until roughly 2015, we had decent delivery business. It was a pretty significant portion of our income. In fact, our delivery business was a big part of why it sounded like a good idea at the time to open a second venue, Codeword in 2015. We had been having trouble keeping up with orders on weekend nights, so once Codeword opened we staged all delivery orders from there, freeing up the DNA Lounge oven for in-house slices.

In the early days, we employed our own delivery drivers (we had a car topper and everything!) And while some restaurant apps like Eat24 and Grubhub existed at the time, they just ran the menu-and-credit-cards system: restaurants were still responsible for doing their own deliveries. But having our own drivers just wasn't economical and in around 2014, I held my nose and we switched to using "Uber Eats" for delivery. Again, at the time, they were a delivery company, which is a thing that (thanks to them) no longer exists. We conducted the transaction; they put it in a car. You used the app to summon a driver to pick up a bag instead of a person.

But in 2017, Uber abruptly decided that if you wanted them to deliver something, you also had to allow them to operate your online store, and let them take a percentage of that. So we dropped them on principle, and switched to Postmates. But then eventually Uber bought Postmates too. So we switched to Grubhub, who had recently started doing deliveries as well as ordering: this gave Grubhub the same downsides as Uber Eats, but at least they weren't Uber.

It was between 2015 and 2017 that Grubhub and similar apps started becoming really popular, and as soon as they did, our delivery business absolutely cratered. Not only did the number of delivery orders go way down, but deliveries became damn near uneconomical due to the huge cut taken by the apps, taking 15% to 30% of the value of the order rather than charging per mile for a delivery. Our margins were obliterated.

And on top of the extortionate delivery apps came the fraudulent "ghost kitchens", the fake clickbait restaurants all running out of the same warehouse that existed only as online branding. So by 2017, Travis Kalanick's debasement and destruction of the restaurant industry was nearly complete.

Twelve or fifteen years ago, the idea of a pizza restaurant that made no money from deliveries would have been inconceivable. Pizza was the canonical late-night delivery food for the entirety of the Twentieth Century. But here we are, "disrupted" by techbros.

Over the years, besides Grubhub, we used to use some other delivery services as well (DoorDash, Slice, Allset, a few others) but we stopped because we got no business from them. Like, literally one order a month or less. And that was back in the day when we did get a significant number of delivery orders through Grubhub. It was just that nobody used those services. Grubhub was, at least at the time, the 800 pound gorilla, the only game in town.

And then around 2022, Grubhub just flat out stopped working. They were so astoundingly incompetent that we got essentially zero orders through them. Their web site was never showing DNA Pizza to customers, even when they searched for it directly, and for close to two years their tech support was so useless that eventually we just gave up. It was so bad that in 2023 I asked the Lazyweb for help out of desperation, And despite turning up some technical contacts within Grubhub, nothing got better at all. So in early 2025, we just closed our Grubhub account and decided, "Welp, I guess we don't offer deliveries at all any more".

Then! Funny story! A couple months ago, a new "territory manager" got hired at Grubhub and hit us up with a "please come back" email. Devon's reply was so blistering that I'm just gonna include most of it here:

Your suggestions don't even begin to address the issue we had.

We had issues with your backend. Menus would vanish. I spent countless hours providing your support teams with steps to reproduce the problem. we got extremely deranked. I got support once to agree to completely rebuild our storefront from scratch so that we would be free of the various issues that support was unable to fix. Support just cloned the store and it had the same problems.

There was some deeply buried bug involving an integration from the otter tablet company that was disabling menus in some non-standard way. And we got de-ranked again, because our menus would turn off at inconvenient times with no way to turn them back on. Support was terrible and useless and never believed me.

So, no, having commissions waived won't do us any good when your platform itself was turning off our menus in ways that nobody who worked for you could figure out how to fix. [...]

I wasted easily 100 hours of my life over a few years on this nonsense.

Nope. Never again. Your company is terrible. You should get a job somewhere else before Grubhub gets bought again and they gut staffing even more.

So, let's hope this Chow Now thing works better than that.

As with all techbro disruption, you have to follow the money to understand this. At first glance you might think that Grubhub's customers are the hungry people ordering food. But Grubhub's actual income is the money that they claw back from the restaurants as subscription fees and a vig on every order, which means that their actual customers are the restaurants. And they will put the screws to each of those restaurants harder and harder, until they die off and another one is slotted in to replace them. They can do this because these days the restaurants have no other choice. This is a canonical example of the oft-misapplied term "Enshittification".

And the galaxy-brain version of "who are the customers?" is "the investors". It doesn't matter if Grubhub becomes so useless that it collapses entirely, so long as the VCs and C-suite get an IPO or private equity buyout just before that happens. Their victory condition is a mob bust-out, rather than a sustainable, long-term business.

Oh yeah! Speaking of Travis Kalanick's ratfucking of the restaurant industry,

Date: Wed, 8 Oct 2025 14:11:26 -0500
From: ██████@cloudkitchens.com
Subject: Request to Discuss New Market Opportunity

DNA Pizza Team,

Thanks in advance for your time and attention.

I'd like to connect and talk with you about a possible partnership with one of our food halls in the Bay Area. Have you considered expanding your reach to other markets? I'm not sure if what we offer would work for you, however, It wouldn't hurt to hear me out, take a tour, and see what options we can offer.

What are your thoughts?

Keep up the good cooking,

I did not hold back:

Date: Wed, 8 Oct 2025 12:28:34 -0700
From: jwz@dnalounge.com
To: ██████@cloudkitchens.com
Subject: Re: Request to Discuss New Market Opportunity

You have got a lot of nerve. Your company single-handedly destroyed the Bay Area restaurant industry and you still have the gall to come sniffing around the corpse. Fuck you and the horse you rode in on, you absolute parasites.

BTW, have your Saudi owners murdered any journalists lately?

What I did not expect... was a reply!

Date: Mon, 27 Oct 2025 14:56:13 -0700
From: ██████@cloudkitchens.com
To: Jamie Zawinski <jwz@dnalounge.com>
Subject: Re: Request to Discuss New Market Opportunity

Hello Jamie,

Thanks for your patience with me getting back to you.

It's unfortunate you feel this way towards CloudKitchens and what the company is attempting to accomplish for restaurant owners and operators in the industry. However, I appreciate your candor. I'll be sure to relay your message to the proper channels.

In summary, running a small business is a land of contrasts. Please buy our pizza, it's actually really good.

Bram Cohen
Camper Vehicles

Let’s say you wanted an offroad vehicle which rather than being a car-shaped cowboy hat was actually useful for camping. How would it be configured?

The way people really into camping approach the process is very strange to normal people and does a negative job of marketing it. You drive to the campground in a perfectly good piece of shelter and then pitch a tent. Normal people aren’t there to rough it, they’re there to enjoy nature, and sleeping in one’s car is a much more reasonable approach.

To that end a camper vehicle should have built-in insulation, motorized roll-up window covers, and fold-up rear seats. You drive to the campground, press the button for privacy on the windows, fold up the seats, and bam, you’re all set.

It should have a big electric battery with range extender optimized for charging overnight. The waste heat during the charging process can keep the vehicle warm while you sleep in it.

Roughly 8 inch elevation off the ground and a compliant suspension designed for comfort on poorly maintained roads rather than feeling sporty.

Compact hatchback form with boxy styling. Hatchbacks are already boxy to begin with and a flat front windshield works well with window covers so it’s both functional and matches the aesthetics.

Available modular fridge, induction plate, and water heater. With custom connectors to the car’s battery the electric cooking elements could ironically be vastly better than the ones in your kitchen.

Unfortunately having a built-in shower or toilet is impossible in a compact but the above features might be enough to make it qualify as a camper van which you’re allowed to live in. They’d at least make it practical to inconspicuously live in one’s car and shower at a gym.

Subscribe now

Posted
jwz (Jamie Zawinski)
Zipbomb JSON
Someone who is not me should formulate a maximally-malicious JSON file. I made one with a nesting depth of ~182 million, but "jq" gives up early, at only around depth 3,000. So one trick would be to find the right balance of nesting and array length that stays under typical parsers' limits as long as possible, while requiring as much RAM as possible to get there.

Previously, previously, previously.

jwz (Jamie Zawinski)
DNA Lounge: Wherein DNA Pizza does deliveries again
It's been almost a year since we closed DNA Pizza's Grubhub account, but we're back online now with Chow Now. It seems to be working ok so far?

The restaurant's hours are still tied to the nightclub, which means we only accept orders while DNA Lounge is open. This means, roughly, every Friday, Saturday and Monday from 8pm or 9pm to 2am; and other days of the week as the event calendar dictates.

So give it a try tonight! In... just about 4 hours.

This time the online ordering is (finally!) more directly integrated with our point of sale. With every other ordering system we've used in the past, when someone placed an order, it would show up on a customized, locked-down tablet provided by the outside company, and our cashiers would have to notice it ping and then transcribe the order into our system. But this new one talks to our POS directly, so it goes in like every other cashier order.

This means that it finally makes sense for an in-person customer to use it as a "skip the line" order -- you can place your order from the dance floor or the sidewalk, and then in a few minutes, head on over to the restaurant for pick-up. So that's kind of cool.

Anyway, wow do I have some things to say about online ordering, but writing that up has completely gotten away from me, so I'll save that for a later post.

Bram Cohen
How To Use AI To Get Better At Chess

Leela Odds is a superhuman chess AI designed to beat humans despite ludicrous odds. I’m a decent player and struggle to beat it with two extra rooks. It’s fun doing this for sheer entertainment value. Leela odds plays like the most obnoxious troll club player you’ve ever run into, more like a street hustler than something superhuman. Obviously getting beaten in this way is also humiliating, but it also seems to teach a lot about playing principled chess, in a way which raises questions about objectivity, free will, and teaching pedagogy.

Most computer chess evaluations suffer from being deeply irrelevant to human play. When decently strong humans review games with computer evaluation as reference they talk about ‘computer lines’, meaning insane tactics which no human would ever see and probably wouldn’t be a good idea for you to play in that position even after having been told the tactics work out for you in the end, much less apply to your more general chess understanding. There’s also the problem that the only truly objective evaluation of a chess position is one of three values: win, lose, or draw. One move is only truly better or worse than another when it crosses one of those thresholds. If a chess engine is strong enough it can tell that a bunch of different moves are all the same and plays one of them at random. Current engines already do that for what appear to be highly tactical positions which are objectively dead drawn. The only reason their play bears any resemblance to normal in those positions is they follow the tiebreak rule of playing whichever move looked best before they searched deeply enough to realize all moves are equivalent

Subscribe now

So there’s the issue: When a computer gives an evaluation, it isn’t something truly objective or useful, it’s an evaluation of its chances of winning in the given position against an opponent of equal superhuman strength. But what you care about is something more nuanced: What is the best move for me, at my current playing strength, to play against my opponent, with their playing strength? That is a question which has a more objective answer. Both you and your opponent have a probability distribution of what moves you’ll play in each position, so across many playouts of the same position you have some chance of winning.

This is the reality which Leela Odds already acknowledges. Technically it’s only looking at ‘perfect’ play for its own side, but in heavy odds situations like it’s playing the objectively best moves are barely affected by the disadvantaged side’s strength anyway because the only way a weaker player can win is to get lucky by happening to play nearly perfect moves. And here we’re led to what I think is the best heuristic anyone has ever come up with for how to play good, principled, practically winning chess: You should play the move which Leela Odds thinks makes its chances against you the worst. The version of you playing right now has free will can look ahead and work out tactics but the version of you playing in the future cannot and is limited to working out tactics with only some probability of success. You can learn from advice from the bot about what are the most principled chess moves which give you the best practical chances assuming the rest of the game will be played out by your own not free will having self. Everybody has free will but nobody can prove it to anybody else, not even themselves in the past or the future. The realization that your own mental processes are simply a probability distribution does not give you license to sit around having a diet of nothing but chocolate cake and scrolling on your phone all day while you wait for your own brain to kick in and change your behavior.

Philosophical rant aside, this suggests a very actionable thing for making a better chess tutor: You should be told Leela Odds’s evaluation of all available moves so you can pick out the best one. The scale here is a bit weird. In an even position it will say things like your chances of winning in this position are one in ten quadrillion but if you play this particular move it improves to one in a quadrillion. But the relative values do mean a lot and greater ratios mean more so some reasonable interface could be put on it. I haven’t worked out what that interface might be. This approach may break down in a situation where you’re in an objectively lost position instead of an objectively won one and you should be playing tricky troll moves yourself. That seems to matter less than you might think, and could be counteracted by reverting to a weaker version of Leela Odds which can’t work out the entire rest of the game once it gets into such a position.

So far no one is building this. Everybody uses Stockfish for evaluation, which suggests a lot of lines you could have played if you were it, but of course you’re not, and is overly dismissive of alternative lines that would have been perfectly fine against your actual non-superhuman opponent. Somebody should build this. In the meantime if you want to improve your chess you’re stuck getting humiliated by Leela Odds even when you’re in what seem to be impossible to lose situations.

Subscribe now

Posted
jwz (Jamie Zawinski)
Whale
I can't believe this exists. Someone did a 15 minute documentary on Whale, one of my favorite 90s bands. They only had two albums but I have 14 CDs by them, which might be their entire output. So Pixies influenced! So sleazy! (Their grungey-slow-grind cover of Darling Nikki is just... *chef's kiss*.) Tricky co-wrote/produced half their first album, before Maxinquaye.

I finally got to see them live in 1998 opening for Tricky on the Angels with Dirty Faces tour at The Fillmore, and they killed it, and then I saw them again headlining the following night at Bimbo's, and nobody came, and they were clearly angry about that and kinda jerky. I forgave them and loved them anyway.

Eye 842. Eye 842.

Posted
Bram Cohen
Drug Tidbits

SR-17018 is a novel drug which is getting increasing underground usage for quitting opioids. It is technically an opioid itself but produces an amount of euphoria which is somewhere between barely noticeable and completely nonexistent. While taking it people don’t get withdrawal symptoms from Fentanyl but their Fentanyl tolerance fades at about the same rate as if they were going cold turkey without the SR-17018. People have been successfully using it to quit opioid addictions and even keeping a stash of it around in case they relapse, which is bizarre behavior for usually addicts. Usually if there are any opioids around they’ll take them and it will cause a relapse, so this stuff must really not be much fun or addictive. Opioids for opioid quitting has a bad reputation because of Methadone, but swapping Buprenorphine for Fentanyl is a big improvement and SR-17018 seems to be truly good for cessation. Unfortunately because it’s technically an opioid and there hasn’t been any movement on getting it approved for cessation purposes (it was originally studied as a painkiller which it’s unsurprisingly not very good at) most likely it will get shoved into schedule 1 at some point, sanity and reality be damned.

Subscribe now

Varenilicline is a good smoking cessation drug but causes nausea in some people. The obvious fix would be to give patients Ondansetron with it. This has been suggested but doesn’t seem to have been tried, not even a case study. There seem to be two problems here: The drugs in question are generic and there’s no incentive to develop treatment improvements which are very cheap, and there’s a general view that any treatment of addiction is super scary and the patients should have to suffer, even for fairly safe drugs with no reason to think they’ll have a bad interaction.

Sodium Oxybate is about to get orphan drug status, for the second time, for the same drug, which is already making more than a billion dollars a year and was neither discovered nor characterized by the company which got the orphan drug status the first time. Pharma has the deeply broken structure that exclusivity periods are the only form of reward for research but a start to fixing it would be to make it that formulation changes are both much easier to get through and give much less exclusivity. A bare minimum start to that would be to clarify that orphan drug status was never meant to apply to formulation changes. It would also be good to make sectors which are already making massive profits not qualify as orphan any more and to reduce the exclusivity period for formulation patents in general, with time release formulas and salt changes handled as specific special cases.

Subscribe now

Posted
Richard Stallman
Australia's new hate speech laws

*Criticism of Benjamin Netanyahu may be an offense under Australia’s new hate speech laws, Greens warn.*

An expert said, *It seems that the implication is criticism of Israel, and the Israeli government, and suggesting it is engaged in genocide or something of that kind, would be enough to at least trigger the start of the process, by satisfying the provisions about inciting racial hatred.* But whether a court would see that as permitted

I oppose the prohibition of so-called "hate speech" because it tends to result in censorship of legitimate political condemnation of politicians that practice of advocate cruel and violent policies — in effect, defending that cruelty and violence, as in the case of Netanyahu.

Posted
Richard Stallman
Gavin Newsom opposes billionaire wealth tax

One of Gavin Newsom's flaws is that he opposes the billionaire wealth tax.

While the design of California's one-time wealth tax proposal is clever in that a billionaire can't save any money by moving out of the state now, I don't think a once-time wealth tax will do what is needed to make the US start working again. Billionaires' under-taxation has made many aspects of the US work badly.

Posted
Richard Stallman
Sweden kicking out asylum seekers

Sweden, pressured by a right-wing extremist party, is kicking out asylum seekers who have been in Sweden for over a decade and have fully integrated into Swedish society.

I wonder how serious a crime must be to serve as grounds for expulsion.

Posted
Richard Stallman
Syrian government and Northeast Syria one-month cease fire

Syrian government and mostly-Kurdish Northeast Syria have agreed on a one-month cease fire for sending PISSI prisoners to Iraqi prisons.

This is good as far as it goes, but the Syrian government should allow people in Northeast Syria should not be stripped of the rights and social advances that they have fought for.

Posted
Richard Stallman
Texas Black man exonerated 70 years after execution

*Texas Black man exonerated 70 years after execution in case marked by racial bias.*

A thug fabricated the claim that the murder victim had identified her killer to him, though other witnesses said she was beyond speaking by then. Then other thugs beat a false confession out of him.

The article linked to above displays symbolic bigotry by capitalizing "black" but not "white". (To avoid endorsing bigotry, capitalize both words or neither one.) I denounce bigotry, and normally I will not link to articles that practice it. But I make exceptions for some articles because I consider them important — and I present this comment about them.

Posted
Bram Cohen
The Future Of Enterprise SAAS

People are unsure of what the inevitable huge disruptions AI will bring to software will eventually be, but one thing which is clear is that enterprise software as a service will be hard hit. The industry is producing products which are too awful, and is too bottlenecked on software development costs, to not be completely upended.

The way that industry works currently is that there’s generally a single dominant player in each niche which has a codebase with a million features ten of which are important. The problem is that every one of their customers uses twenty features: The ten which are important to everyone, and ten others which are important to them specifically. And which ten long tail features each customer cares about have very little correlation to each other.

It’s clear that million dollar a year saas contracts are going away. It’s becoming way too practical for customers that large to write their own bespoke solutions from scratch and wind up with something which sucks less. But that doesn’t mean everybody is going to write everything completely from scratch. Most likely there will be open source solutions for most problems which only have the ten big features and everybody vibe codes customizations for their their own deployment.

The open source business model for this is time honored and straightforward: The company maintaining the open source version also has a service where you pay for deployment. But now it’s even better, because they’ll have a vibe coding interface which is super trained on ten thousand other customizations of their codebase. They’ll likely even sneak in some human intervention in the background to help with rebasing when a new release of the base product comes out. And they’ll have a license which allows and all customizations to be upstreamed if the maintainers want them to be. There will probably be niche consultancies which specialize in helping companies do customizations of specific products but that won’t be done in house by the maintaining company because saas shops will still try to maintain high capital efficiency.

The whole saas industry is much more vulnerable than people realize. You could get me to switch off Jira just by making a comparable product which had page load times out of this century. And vibe coding will absolutely be at the core of the new way of doing things.

Thanks for reading Bram’s Thoughts! Subscribe for free to receive new posts and support my work.

Posted

Planet Debian upstream is hosted by Branchable.