⏱️ Lectura: 11 min

In 2020, when developer and essayist Stephen Diehl started writing about cryptocurrency, he thought online scammers were a marginal group of opportunists. Six years later, he admits he was wrong: recommendation algorithms turned deception into the central engine of the internet, not its exception.

📑 En este artículo
  1. TL;DR
  2. Introduction
  3. What Happened
  4. Context and History
  5. Technical Details: How Recommendation Algorithms Actually Work
  6. Getting Started: Auditing and Blocking the Extraction Chain
  7. Impact and Analysis
  8. What’s Next
  9. Frequently Asked Questions
    1. What is a reinforcement learning loop applied to recommendation?
    2. Is Diehl saying the entire recommendation industry is a fraud?
    3. Do uBlock Origin and Pi-hole eliminate the problem at the root?
    4. What does “satisfaction is churn” mean in this context?
    5. How do I audit whether a recommendation model optimizes for engagement instead of usefulness?
    6. Does this only apply to social media?
  10. References

In an essay published on August 29, 2026, Diehl argues that these systems stopped showing you relevant content in order to detect your anxiety, loneliness, or greed, amplify it, and place a payment button right next to it. This isn’t an abstract accusation: it’s a fairly precise description of how a reinforcement-optimized recommendation engine actually works, technically.

TL;DR

  • Stephen Diehl published an essay on August 29, 2026 about how recommendation algorithms systematically exploit human vulnerability.
  • Diehl started writing about cryptocurrency in 2020 assuming scammers were a marginal group; today he says the fraud economy is massive and participatory.
  • The central argument: platforms profile the user’s weakness, optimize the sales pitch, process the payment, and recommend the next scam.
  • Technically, recommendation systems are reinforcement learning loops that combine attention, retention, and conversion into a single objective function.
  • The structure is pyramidal: the affiliate buys an affiliate course and resells it to the next affiliate; the life coach trains new life coaches.
  • Key line from the essay: “satisfaction is churn, misery is recurring revenue.”
  • uBlock Origin and Pi-hole make it possible to audit and block part of this extraction chain at the browser and home network level.

Introduction

Diehl isn’t commenting from the outside. He’s a developer who has spent years auditing how cryptocurrencies and the platforms that promote them work, and his essay, “The Internet Is Kind of a Predatory Cesspit Now”, opens with a nostalgic comparison: the internet of the nineties, slow, ugly, unreliable, but full of sites about Babylon 5, scale-model rockets, and train schedules built by hobbyists with no business model. That internet had scams, viruses, and toxic content too, but they were a deviation from the system.

In 2026, according to Diehl, predation stopped being an abuse of the network and became its organizing principle. For a developer, the interesting part isn’t moral, it’s an engineering question: what objective function the system optimizes and what side effects it ignores. That’s the technical thread of this article: how the recommendation algorithms that make this industrialization possible actually work, and what concrete tools exist today to audit or block them.

What Happened

Diehl’s argument has three layers. The first is that a scam no longer needs to go looking for a victim: now the platform finds them, profiles their emotional weakness, optimizes the sales pitch, processes the payment, and recommends the next scam, all within the same recommendation system.

The second layer is mass participation. Diehl describes an economy where a large share of the population has been recruited as unpaid distributors: reselling investments they don’t understand, products that don’t work, and claims they never verified. Most of them earn nothing; they’re free links in a chain that climbs toward someone further up.

The third layer is the most uncomfortable one: many of the people selling the pitch are also victims. They believe what they sell because believing it makes the selling bearable. Admitting the product is worthless would mean admitting they wasted years of their life on it. That’s why, according to Diehl, it’s psychologically cheaper to recruit the next person than to acknowledge the fraud.

Context and History

This transition didn’t happen overnight. The amateur internet of the nineties and 2000s, with its hand-written HTML and <marquee> tags, had no way to precisely measure which content generated more screen time. Without that metric, there was no systematic way to optimize for exploiting a specific emotion.

The shift came with the algorithmic feed and the rise of machine learning applied to user retention in the 2010s. Once a platform can measure, in milliseconds, whether someone stops scrolling or keeps going, it has everything it needs to train a system that maximizes that engagement regardless of what emotional content produces it.

Diehl sums it up this way: platforms didn’t invent fear, greed, or loneliness. They industrialized them. They turned universal human emotions into just another training signal, indistinguishable in the data pipeline from any other business metric.

Technical Details: How Recommendation Algorithms Actually Work

A modern recommendation system doesn’t decide what to show you based on a fixed rule: it learns a policy that maximizes a reward made up of attention, retention, and conversion signals. In reinforcement learning terms, every video, post, or ad is an action; your reaction, measured in seconds of scrolling, clicks, or purchases, is the reward.

The following simplified example uses an epsilon-greedy algorithm, the most basic type of multi-armed bandit, to show how a system naturally converges toward the content with the highest measured reward, with no concept of harm included anywhere in the objective function:

import random

# Each "arm" represents a type of content
contenido = ["tutorial", "outrage", "fear", "envy"]
recompensa_estimada = {c: 0.0 for c in contenido}
intentos = {c: 0 for c in contenido}

def elegir_contenido(epsilon=0.1):
    if random.random() < epsilon:
        return random.choice(contenido)
    return max(recompensa_estimada, key=recompensa_estimada.get)

def registrar_interaccion(tipo, segundos_de_scroll):
    intentos[tipo] += 1
    n = intentos[tipo]
    recompensa_estimada[tipo] += (segundos_de_scroll - recompensa_estimada[tipo]) / n

This loop doesn’t know what “outrage” or “fear” are: it just knows that certain types of content generate more measured scroll seconds, so the policy converges toward them over time. A real system combines several signals into a single composite reward, as in this second example, closer to what Diehl describes:

def recompensa_compuesta(atencion_seg, tasa_retorno_24h, conversion_usd):
    peso_atencion = 0.4
    peso_retencion = 0.4
    peso_conversion = 0.2
    return (
        peso_atencion * atencion_seg
        + peso_retencion * tasa_retorno_24h * 100
        + peso_conversion * conversion_usd
    )

Nothing in this function measures whether the user ended the session more anxious, more informed, or poorer. The system optimizes exactly what it’s asked to, not one unit more. That gap, the social harm missing from the objective function, is the technical core of Diehl’s argument.

flowchart TD
    A["User opens the feed"] --> B["Recommendation model"]
    B --> C["Selects high-reward content"]
    C --> D["User reacts: scroll, click, or purchase"]
    D --> E["Training signal"]
    E --> B
    C --> F["Payment button next to the content"]
Conceptual diagram of a recommendation algorithm processing user data
Attention, retention, and conversion are combined into a single training metric. Foto de kenny cheng en Unsplash

Getting Started: Auditing and Blocking the Extraction Chain

You don’t have to wait for a platform to change its objective function: there are concrete tools that audit or cut off much of this extraction chain right now, at the browser and home network level.

The first step is to install uBlock Origin from your browser’s extension store and enable, in advanced mode, lists like “Fanboy’s Annoyance List” and “AdGuard Social Media,” designed specifically for infinite-scroll widgets and artificial-urgency banners.

The second, deeper step is to run Pi-hole on your home network to filter tracking domains at the DNS level, before they reach any device. The prerequisite is having Docker installed:

# Windows (PowerShell as administrator)
wsl --install
# restart, then install Docker Desktop with the WSL2 backend

# macOS
brew install --cask docker
# open Docker Desktop once to initialize the daemon

# Linux
curl -fsSL https://get.docker.com | sh
sudo systemctl enable --now docker

With Docker running, the Pi-hole container is spun up with a single command, the same on all three platforms:

docker run -d \
  --name pihole \
  -p 53:53/tcp -p 53:53/udp -p 8080:80 \
  -e TZ="America/El_Salvador" \
  -v "$(pwd)/etc-pihole:/etc/pihole" \
  --restart=unless-stopped \
  pihole/pihole:latest

Then point your router’s DNS to the host’s IP and open the panel at http://HOST-IP:8080/admin to see, in real time, how many tracking and ad requests are being blocked.

💡 Tip: combine uBlock Origin in advanced mode with social media anti-ad lists to specifically cut off infinite-scroll widgets, not just traditional banners.
⚠️ Heads up: blocking tracking doesn’t inoculate you against the persuasive design of the content itself. A feed can keep showing outrage and fear even if it’s not tracking you to sell anything, because those emotions also maximize screen time without needing an ad.

To confirm the filtering is active, run docker exec -it pihole pihole -c and check the “Queries Blocked” counter: if it climbs with every page you open, Pi-hole is actually intercepting requests, not just showing a nice-looking panel.

Admin panel showing blocked network requests
The Pi-hole dashboard shows, live, how many tracking requests are cut off per hour. Foto de Growtika en Unsplash

ModelObjective it optimizesRisk to the userExample
Attention economy (ads)Screen time and clicksAnxiety, social comparison, scroll addictionAlgorithmic social media feeds
SubscriptionMonthly retentionLow if the product is useful; high if it uses dark patterns to prevent cancellationStreaming, SaaS
Affiliate marketing or digital MLMRecruiting new distributorsDirect financial loss, pressure on personal relationshipsCourses resold between affiliates
Ad-free original contentPerceived usefulness, not screen timeLow: no structural incentive toward dissatisfactionPersonal sites with no business model

Impact and Analysis

One important boundary: Diehl’s essay is an argumentative analysis, not a study built on primary data of its own. Its value isn’t a new figure, but naming with precision a pattern that any developer who has worked in growth or recommendation systems can recognize from the inside.

Not every engagement optimization is harmful, either. A system that reduces choice paralysis in a streaming catalog, or that prioritizes relevant notifications in a messaging app, uses the same type of reinforcement loop without causing harm. The difference isn’t in the technique, it’s in whether the objective function includes any signal of user well-being or only business signals.

The collapse Diehl describes between consumer, seller, and product has a systems-level reading: when the same reinforcement loop rewards both consuming and distributing content, the platform no longer needs to actively recruit. The design itself turns every user into a potential distribution node.

What’s Next

Diehl doesn’t offer a concrete regulatory solution in his essay: he describes the problem with an engineer’s precision but leaves the way out open. What is verifiable today is that there’s a growing tension between the algorithmic transparency regulators in various countries are demanding and the opacity that protects these platforms’ business model.

For a developer, the practical question isn’t whether that regulation will arrive, it’s whether the next time you’re asked to design a reward function, you’ll include a signal that penalizes harm, or you’ll only optimize what the business dashboard asks you to measure.

📖 Summary on Telegram: See summary

Try it yourself: install Pi-hole with the Docker command above tonight and see how many tracking requests it blocks from your own feed in the first hour.

Frequently Asked Questions

What is a reinforcement learning loop applied to recommendation?

It’s a system that learns, from your reactions (scrolling, clicks, time spent), what content to show you in order to maximize a business metric, without a fixed, hand-written rule.

Is Diehl saying the entire recommendation industry is a fraud?

No. His argument is that the incentive structure of many platforms makes user dissatisfaction, not satisfaction, what generates recurring revenue, and that this favors content that exploits emotions.

Do uBlock Origin and Pi-hole eliminate the problem at the root?

No. They block trackers and ad domains, but a feed can still optimize for outrage or fear without depending on advertising, because those emotions also maximize screen time.

What does “satisfaction is churn” mean in this context?

It means a system optimized for retention loses revenue if the user solves the problem that kept them hooked, so the design tends to preserve the need rather than resolve it.

How do I audit whether a recommendation model optimizes for engagement instead of usefulness?

Check whether the platform exposes user success metrics, like time to complete a task, or only business metrics, like session time or conversion; the total absence of the former is the clearest signal.

Does this only apply to social media?

No. It applies to any product that adjusts its algorithm based on behavioral signals without an explicit well-being signal: dating apps, trading platforms, and investment forums show the same pattern, according to Diehl.

References

📱 Like this content? Follow @programacion on Telegram for daily tech content in Spanish: quick summaries, fresh content every day.

Imagen destacada: Foto de Viralyft en Unsplash

Categories: Noticias Tech

Andrés Morales

Developer and AI researcher. Writes about language models, frameworks, developer tooling, and open source releases. Covers ML papers, the tech startup ecosystem, and programming trends.

0 Comments

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.