Cloudflare has discovered that Perplexity, an AI-powered answer engine, is using stealth crawling techniques to bypass website restrictions

TLDR Web Dev 2025-08-05

Articles & Tutorials

How we made JSON.stringify more than twice as fast (8 minute read)

V8 has sped up `JSON.stringify` (over 2x faster) through several technical optimizations. These optimizations are: a side-effect-free fast path for plain data, specialized string handling (one-byte vs. two-byte), SIMD instructions for string serialization, and an ‘express lane’ for frequently serialized objects. They also upgraded their DoubleToString algorithm and switched to a segmented buffer to avoid memory reallocation overhead.

Compile Svelte 5 in your head (8 minute read)

Svelte 5’s compilation process can be compared to vanilla JavaScript DOM manipulation. This article covers essential DOM concepts like the `template` element, event delegation, and reactive states using Svelte’s new runes system ($state), showing how these translate to optimized JavaScript output. Through examples, it shows how Svelte 5 compiles components into functions that efficiently create and manage DOM elements.

Let’s Write React Hooks From Scratch (6 minute read)

This article goes over how React Hooks store and persist state within functional components. It begins with a simplified explanation using arrays and then goes into the actual implementation using a linked list within the virtual DOM’s component tracking. Code examples are provided to show how `useState` could be implemented from scratch using both arrays and linked lists.

Opinions & Advice

Onboarding for coding agents (6 minute read)

When using coding agents like Claude Code, you should shift context from tool-specific files like `CLAUDE.md` to universal `README.md` files organized by domain for better onboarding. Code quality should be enforced through “Quality Gates,” defined as environment constraints using tools like linters and type checkers. This approach allows AI coding agents to iterate and improve code until all checks pass.

Read That Code! (8 minute read)

It’s important to read AI-generated code, despite the efficiency of tools like Claude Code. Otherwise, the codebase risks weakened architecture, and devs risk the loss of implementation knowledge. There needs to be a distinction between asynchronous tasks suitable for “auto-accept mode” and synchronous coding for core features requiring careful oversight.

Every Visual Workflow Tool is Just Excel for Developers Who Gave Up (5 minute read)

Visual workflow tools like Zapier are essentially Excel for devs who have lost confidence in their coding abilities. These tools, while seemingly easy, create complex dependencies, vendor lock-in, and limitations that ultimately make developers less capable and force them to pay for what they can already build.

Launches & Tools

ov (GitHub Repo)

ov is a terminal pager for efficiently viewing text, especially tabular data and large files. It has functionalities like fixed headers, column highlighting, real-time updates with follow mode, and advanced search. The pager is customizable, allowing devs to configure keybindings, styles, and integrate with tools like `bat` and `delta`

Dependency Cruiser (GitHub Repo)

Dependency Cruiser is a tool for validating and visualizing JavaScript, TypeScript, and related project dependencies against user-defined rules. It identifies rule violations in text or graphics and can generate dependency graphs in various formats.

ScreenCoder (GitHub Repo)

ScreenCoder is a UI-to-code generation system that converts screenshots or design mockups into HTML/CSS code using a modular multi-agent architecture. It has visual understanding, layout planning, and adaptive code synthesis, allowing for customized modifications and easy tweaking of layouts and styles.

Miscellaneous

Tokens are getting more expensive (13 minute read)

AI subscriptions are headed for a “short squeeze” despite the expectation that language model costs will decrease. The problem lies in the demand for the newest, most powerful models, which remain expensive, and the exponential increase in token consumption as AI agents become more capable. Unlimited subscription models are unsustainable, as users can exploit them to consume enormous amounts of tokens (which is why Claude is introducing weekly limits now).

Perplexity is using stealth, undeclared crawlers to evade website no-crawl directives (5 minute read)

Cloudflare has discovered that Perplexity, an AI-powered answer engine, is using stealth crawling techniques to bypass website restrictions. Perplexity appears to be masking its crawler identity by modifying its user agent, rotating IPs, and ignoring robots.txt files after being blocked. This behavior violates established internet norms of transparency and respect for website preferences, so Cloudflare has responded by delisting Perplexity as a verified bot and implementing rules to block this stealth crawling activity.

Do LLMs identify fonts? (4 minute read)

A live benchmark was created to test whether LLMs can identify fonts from dafont.com forum posts where users request font identification. The benchmark avoids contamination by only testing LLMs on new, unsolved forum posts and comparing their predictions to the eventual community solutions. GPT-4o-mini and Gemini-2.5-flash-preview-05-20 were both provided with images, titles, and descriptions, allowing up to five guesses each, but the results were surprisingly poor.

Quick Links

DrawAFish.com Postmortem — Aug 3, 2025 Incident (8 minute read)

The creator of DrawAFish.com, after getting Hacker News fame through vibe-coding and heavy reliance on Copilot, had a security incident involving username vandalism and offensive content due to a legacy password breach, lack of authentication in the username update API, and a JWT vulnerability.

Code Reloading for Rack Apps (8 minute read)

This blog post explains how to implement code reloading in a Rack-based Ruby application, similar to what Rails provides, using Zeitwerk, the listen gem, and concurrent-ruby to automatically reload code changes without restarting the server.

Kimu (GitHub Repo)

Kimu is an open-source, React, Remotion, and TypeScript-based video editor project with features like non-linear editing, multi-track support, live preview, and video export.

Qwen-Image: Crafting with Native Text Rendering (6 minute read)

Qwen-Image is a new 20B MMDiT image foundation model that can render complex text and help edit images precisely.