This page lists part of the section. The page links below work without JavaScript. With JavaScript, a filter searches the whole section and pages the matches.
AI-generated chapters that summarize correctly but land 15 minutes off are a QC problem, and that's the story of AI right now: throw it at everything and hope. When your livelihood depends on the output, you notice when it's wrong and keep iterating until it's right. That's the proper way to use technology.
you're banking its output you're banking your livelihood on its output being good And so if it's wrong, you notice immediately and you are constantly iterating to fix it.
Hard conversations about AI go wrong when people flatten them. Dave often doesn't disagree with Adam at all. The reality is subtle, and differences in context make all the difference in the result. For example, if the namespace started today, nobody would bother with a transcript tag; it's become a vestigial organ.
conversations like this is that I don't disagree. Like it. The reality of all of this stuff is subtle. There's differences in context that make all the difference in the result.
Debating how long a play counts, Dave points out that it's meaningless because every decent app caches minutes of audio to ride out bad connectivity, which you learn fast when you write a podcast app. Godcaster sends one play per user per hour, deduplicated with a unique listener ID. Only first-party platforms like YouTube and Spotify can tell a 30 ms play from a 30 s one, so they shouldn't write the definitions alone.
Web browsers aren't the only ones that cache audio and video. All decent... apps, cash, audio, and video. Every single one of them. You find out very quickly when you write a podcast app. that you can't not do it.
Dave has lived through many tech shifts: loading C64 programs from cassette, setting jumpers and editing system.ini, then everything moving to the cloud. You learn to move with the flow. But he dislikes calling it 'progress'; things just go in a different direction.
the flow of the way that things... I don't like using the word progress. I just don't like that term. It's just things go in a different direction.
When building took real work, the effort itself signaled quality. A DJ in Cleveland who loved Rush and kept playing them put the band on the map, and code used to work the same way. Now, with dozens of vibe-coded clones of the same tool (some possibly malicious), there's no signal to tell which one to trust.
the manual nature of all those things contributed something to the overall quality of the output.
Search is why Google is what it is. The internet only pretends to function because of search, and as AI floods the world with near-identical projects, finding the right thing gets even harder.
Search is the only way the internet even pretends to function. You can't have an internet without some functional level of search involved.
The 'dream, build' cycle isn't a loop, it's a path. How hard the path is (uphill, around rocks, through deep water) helps you decide whether something is worth continuing. AI's dark pattern is that it drops build friction so low that you build everything, but the world was only meant for things that contribute something positive.
to me, that's the dark pattern. of AI is that it reduces the build friction down so low that you do start building everything. And the world wasn't meant for everything to be built.
Dave still dislikes AI intensely. He no longer enjoys syntax or learning new languages, so AI coding takes away drudgery, but it also takes away the creation, which is the part he loves. In about two months he went from writing 100% of the code for Podcast Index, Godcaster and Freedom Controller to about 10%, and he wasn't psychologically prepared for that shift.
it takes a lot of the drudgery out of it. But then at the same, but it also takes the creation out of it. And you feel, I feel like there's a, this happened too fast.
Open source projects focus so intensely on the technology that they never discuss the human things brewing in the background, like where and how conversations happen. Those side issues are what create flame wars and hurt feelings.
I think These are the types of things that open source projects do not discuss. And because they get intensely focused on the technology and that's all that matters, and
Dave noticed that debates go better on the semi-public, federated Mastodon than in fully private spaces like Signal, Slack, email or text. Mastodon feels like a hallway conversation that others can overhear and join. Private, isolated channels have no real-world equivalent, and he thinks they distort our attention and narrow our focus.
the sort of semi-public federated nature. of mastodon makes it feel Makes it feel more like you're having a personal discussion where you're going back and forth with a person in an open space, like in public.
Prompted by Justin Jackson's blog post on why real life is better, Dave notes that in person you read body language and facial expressions. You can tell if something hurt someone or if they've misunderstood. On GitHub and Mastodon, debates over standards lose all of that, so people (Dave included) get their feelings hurt and flame out.
We know that this is the case because of all kinds of things, body language, the look on a person's face.
Defending the namespace's open-ended tags, Dave cites the robustness principle (Jon Postel): accept many formats, publish strictly. It gives you loose coupling, and the internet itself works this way. Dictating strictness to senders only gets you so far, and then the burden falls back on the consumer anyway. A hobbyist whose transcript is just a link to their blog post shouldn't be told it must be VTT.
But that ethos of... be very be very open with the formats that you accept. but very strict with the formats that you publish. allows for a loose coupling. that is really important.
Not in the audio. Dave first attributes the principle to Bill Joy, then corrects himself to Jon Postel (transcribed 'John Postal'); it's commonly known as Postel's law.
Non-technical people can't describe problems; you get 'this thing doesn't work' and a back-and-forth. Everyone describes things differently, many different faults show up as the same error dialog, and some people will lie that they rebooted. It takes a human to learn each person's lingo and read the situation, which is why bot-to-bot support won't work.
back and forth, back and forth. It's like it takes it really takes it takes a human to understand the flow of the conversation that happens during a support. encounter
Dave reframes the AI coding boost: it's less a gain in productivity than the removal of the work you used to dread, like rebuilding near-identical classes, methods and tests with small tweaks. An agent can also write automation code you'd never have taken the time to write yourself.
would say, I would describe it as not even really a gain in productivity. so much as a as an erasure. of the things that you used to just dread.
Dave thinks the coders who succeed with AI agents already break big projects into small series of steps and naturally talk that way. It helps even more on a mature repository with established patterns, like the 100,000+ lines of Podcast Index code, where adding an endpoint just means following what's already there.
process you already take is one where you take a large... thing and boil it down into a small series of steps. And so you just, you naturally sort of
Closing the HTTP-signing debate with John Spurlock, Dave suggests that if hosting companies truly think the problem matters, they should publish data detailing the abuse, so everyone can see the scale and make appropriate decisions instead of arguing from fear.
If somebody, if, if the hosting companies really think this is, is something valuable is for them to put out some data, some numbers that, that detail the abuse so that we can all. sort of appreciate the scale and then make appropriate decisions.
When unidentified traffic hammers the Podcast Index API (a vague user agent from some CDN), Dave's only tool is to rate-limit it by hand and return 429s. Usually the traffic just disappears. Sometimes he gets an email, explains what they were doing wrong, and offers a better way. One podcast app was trying to scrape every episode to backfill transcripts.
only way I know how to handle that traffic... is to, um, is to rate limit it by hand. and start giving them a 429 because I don't know who this thing is.
Not in the audio. Guest episode (John Spurlock; 0.35 voice threshold). The quote sits at the start of a 7-cue Dave run, in Dave's first-person account of running the Index API.
Proposing a way for apps to share stats, Dave starts from decentralization: apps publish data in a defined format (say a CSV) and announce it over Podping. Centralizing is fine as long as it happens downstream. Podping is decentralized, and sites like tiles.podping.org recentralize it; podcasting is decentralized, and apps aggregate it back to one point of contact.
Let me lay it out this way. Centralization is okay as long as it comes after the fact. And what I mean by that is like... think about pod ping.
Not in the audio. Guest episode (John Spurlock; 0.35 voice threshold). 'Let me lay it out this way. Centralization is' is in an Unknown-labeled cue. It's kept because it continues Dave's own sentence directly ('Okay, well, let me just say it.' in Dave cues just before) into a 17-cue Dave run.
If you ask an agent something it has no language pattern for, like how many R's are in 'strawberry' or a math problem, the model alone can't reliably get it right. The only dependable way is for it to write and run code to check. Since that's too costly to do every time, the reality setting in is that you have to build deterministic guardrail software around these models.
you're asking a question. that the agent doesn't already know a pattern of language for. then there's no way that you'll ever get out of the model that thing that you want.
Not in the audio. Guest episode (Mike Dell; 0.35 voice threshold). The quote is the start of a 6-cue Dave run answering Adam's question about using robots for coding.
When asked whether a dedicated neural network could out-match humans on 4.6 million feeds, Dave points to Bayesian spam filters in the early 2000s: hailed as the answer, they made zero dent. Neural networks are matrix math, and humans don't work that way. We take in dozens of streams of information at once and get a 'sense' we can't define.
one thing we do know is that the human ability to pattern match is unparalleled. paralleled, you have the ability to assimilate multiple streams, dozens and dozens of streams of information all in one shot
Dave says AI can't figure out spam because spam has a quality you can't put into language. In the tax world, 'my accountant retired, what are your fees?' emails arrive both real and phishing, with nothing to trigger a detector. Dave can spot the phishing one every time and can't say why.
Because there is a intangible quality to an experience of spam that you cannot quantify in any sort of language or honestly anything. You cannot, it's unquantifiable.
Every AI winter has come from selling the technology as something it isn't. We layer ideas of knowledge and understanding on top of it and anthropomorphize it, so non-technical people expect what it can't deliver. People like Dave are left explaining the tech from the ground up every time someone asks 'couldn't we use AI to...'.
between uh the way that AI can be has been sold in the way that it actually functions. Yeah. And when and this is how you create. Every single time, this is how the AI winters have been created is by selling it as something that it is not.
With coding agents, the model matters far less than the harness around it, and most of the harness comes down to intelligent use of the context window. Assume every prompt starts brand new: the model doesn't know you. Dave expects slow reasoning models to give way to surgical use of context handed to sub-agents (he compares it to Ender forgetting up and down in Ender's Game's battle room).
it's like the model is like 20% of the issue. The agent harness is the other 80%. 80 percent, and most of that boils down to intelligent use of the context window.
'Workslop': coworkers paste something into a chatbot and forward 2,500-5,000 words with 'check this out,' leaving you to digest it. Dave can't take any more of it and says he doesn't even want documents anymore.
I cannot handle another like another like 5000 word AI generated document dump getting sent to me for me to read and somehow digest and process mentally.
Dave is fed up with AI security startups dropping proof-of-concept exploits on Twitter and Hacker News for headlines and funding, which forces everyone to panic-patch. Bugs like the recent Linux kernel privilege escalations were ones no human was ever going to find, so there's no reason to disclose them publicly. They should stay private for as long as possible.
These are exploits that nobody, no human being was ever going to find. And so there is no reason to publicly disclose these things. They should be private for as long as possible, as long as humanly possible.
Dave worries about a world where technology 'answers' everything. Humans are paradoxical: we're bothered by the hiddenness of God, but we despise someone who gives us all the answers. Sometimes 'I don't know, it's a mystery' is the right answer. Mystery is a critical part of the human experience, and a world where technology answers every question isn't one we'd want to live in.
I think a little bit of mystery in our life is important.
Dave says AI really matters and helps in a lot of ways, but it has overshot and is forcing its way into areas where it has no business and does harm. He hopes this phase recedes, because if it doesn't, the long-term damage is real.
It's really, it matters a lot and it's really helpful. lot of ways in our life. But what's happened is we've overshot and it's... forcing its way into areas that it has no business in.
Humans dealing with an automated flood of content will get some of it wrong. Good pull requests and real podcasts will get thrown out with the bathwater. As the saying goes, wear white gloves in the garden and the garden doesn't get more glovey. Dave asks for grace instead of censorship accusations while everyone figures out something genuinely new.
If you put on white gloves and go and work out in the garden, The garden doesn't get more glovey.
Facing a flood of AI slop, Dave is trying to shift the Podcast Index's baseline from 'find every XML file with an enclosure' to 'have a copy of every podcast that somebody would ever look for.' If someone wants to find it, it should be in the index. If nobody ever wants a thing, whether you have it is like the tree falling in the woods.
We want to have a copy of every podcast that somebody would ever look for.
Judging AI by today's flaws is short-sighted. Dave designs spam detection assuming AI-generated podcasts will become indistinguishable in tone and word choice, with the uncanny valley shrinking to nothing. Instead of heuristics on the content, you look at the whole picture in a Bayesian way, using signals they can't stop.
What I think we have to do is assume. These AI-generated podcasts are going to get so good. We cannot tell the difference. We have to assume that they are going to eventually be perfect.
Everyone fighting AI slop is building heuristics, and history (email phishing, pig-butchering texts) shows how adversaries respond: they shrink the sample until there isn't enough information to pass a confidence threshold. 'Are you going to be at tennis practice today?' gives you nothing to work with. AI podcasts have more variables, but each can be refined until it's indistinguishable.
The way any adversary combats heuristics is they shrink. sample size. get smaller and smaller and smaller. So there's just simply not enough information there for you to make a, for you to pass a confidence threshold.
From building a spam/slop classifier for the Podcast Index, Dave learned that about 90% of model-training work is preparing an excellent training set. A poor, too-small or too-big set makes the model memorize, so you need lots of back-end testing to confirm it generalizes (king is to man as queen is to woman) instead of memorizing (queen = Elizabeth).
is the process of model training. is that a good 90% of the work of model training goes into preparing your data correctly. training data set.
Responding to criticism that blocking feeds lessens the value of the Index (a fair point), Dave explains that the Index really never deletes anything except things that aren't podcasts at all. Spam and slop just get a 'dead' flag with a reason, so the full data is still there and could be exported, with reasons, for research or model training.
I'm not deleting them out of the index. The index really doesn't ever delete anything.
Answering the idea that slop will push people from RSS to closed platforms that promise protection, Dave says the closed platforms are fighting the exact same battle. YouTube and Spotify are slop factories now. They could make the promise but couldn't live up to it.
I think that the closed platforms are also fighting the exact same battle. I don't think they can make that guarantee. They could say it, but they couldn't live up to it.
Talking with Nathan Gathright, Dave suggests something people haven't grasped about the last few years, accelerated by AI: scale and mass adoption aren't as important as they were. A feature used by a small subset of people can just exist and maybe take off later, the way Nostr carries on with a small active user base.
Like, you know, and, and, and it's, you can have, you can have a feature or something that is really only used by a small subset of people. And then later it, it can just exist.
Not in the audio. Guest episode (0.35 voice threshold). The framing sentence ('scale and massive adoption is just not as important as it used to be') ends in an Unknown cue, so it's paraphrased in the summary and not quoted. The quoted words are a 5-cue Dave run.
Asked how vibe coding differs from regular coding, Dave compares it to video games. Like games, it short-circuits the normal cost of your time and attention, making the effort-reward cycle very short and fast. When the pace slows, it's like dropping from 2x podcast speed: your mind wants more, chasing a vague goal of 'produce features.'
your, and your mental attention. They allow you to make, to sort of circumvent that and go in the back door. And so it makes the, it makes the effort reward cycle very, very short and it makes it very fast.
Not in the audio. Guest episode (Nathan Gathright; 0.35 voice threshold). The answer opens with 'Well, because it's gamified' in a lone Dave cue, and the middle of the thought is in Unknown cues. Only the 6-cue Dave run is quoted. Attribution was judged from context: Adam's question follows Dave's story about getting a friend into Claude Code.
After a dangerously bad dynamically inserted ad, Dave points out what DAI really means: you're letting a person or entity you don't know put content in the middle of your show, content you can't see. It goes wrong so often, the same way banner-ad overload ruined the web (AL.com is unreadable without an ad blocker). If the industry doesn't get a handle on it, more apps will solve the problem for listeners, and not in a way the industry wants.
when you do dynamic ad insertion, you are what you're what you're in effect doing is you're allowing a person or an entity that you do not know. To put content in the middle of your show.
Not in the audio. The final word 'show.' is in an Unknown-labeled cue. It's kept because it plainly completes Dave's sentence from the 5-cue Dave run before it.
As people vibe-code their own apps (one podcast product got a cancellation saying 'I coded my own solution'), every industry will face the reality of infinitely customizable software. Commercial software that gives you one fixed look feels antiquated once you've vibe-coded. Bloated incumbents with 80% market share for 25 years won't know how to compete. That doesn't mean every industry collapses.
How the software of how the the industry is coming up against the reality. Of infinitely customizable software. Every industry is going to face this, and that's the world that we live in now.
Hearing an app developer describe a rack of 48 Mac minis just to transcribe podcasts, Dave wishes more hosts would put transcripts in the RSS feed. The more features are pushed upstream into the feed, the less any single independent app developer has to build huge infrastructure for one feature, because the data is already there.
I think what I'm trying to say is that the more we can push these features upstream into the feed, the less of this sort of thing has to happen.
From 27 years of IT help desk work, Dave has found that asking what problem you're actually trying to solve cuts straight to the answer fastest. People describe issues the way they think you want to hear them. What he wants is: what are you trying to do, and what happens when you do it?
So I have found that asking the question, what problem are we trying to solve is usually the thing that cuts you straight through to the answer in the fastest possible way.
Not in the audio. Guest episode (Brendan Mulligan; 0.35 voice threshold). Some of Brendan's speech is mislabeled as Dave elsewhere in this episode. This passage is confirmed as Dave by context: he cites his 27 years of IT help desk work.