Home/2025
Archive

Year 2025

1,335 articles published in 2025.

AI & ML — Conversation: LLMs and Building Abstractions

Conversation: LLMs and Building Abstractions

Unmesh and Martin exchanged some emails about building abstractions while working with an LLM. They talk about the influence of Brooks's framing of essential and accidental complexity, and how this carries over to thinking of programming as both growing and applying abstractions. An LLM is useful in both modes of working, but has to be used differently. We can't reduce growing abstractions to a st

UJUnmesh Joshi and Martin Fowler·August 26, 2025AI & ML
Performance — Enabling Kotlin incremental compilation on Buck2

Enabling Kotlin incremental compilation on Buck2

The Kotlin incremental compiler has been a true gem for developers chasing faster compilation since its introduction in build tools. Now, we’re excited to bring its benefits to Buck2 – Meta’s build system – to unlock even more speed and efficiency for Kotlin developers. Unlike a traditional compiler that recompiles an entire module every time, […]

PHPhil Hornshaw·August 26, 2025Performance
Frontend — Optimizing PWAs For Different Display Modes — Smashing Magazine

Optimizing PWAs For Different Display Modes — Smashing Magazine

Progressive Web Apps (PWAs) are a great way to make apps built for the web feel native, but in moving away from a browser environment, we can introduce usability issues. This article covers how we can modify our app depending on what display mode is applied to mitigate these issues.

DCDeclan ChidlowDeclan Chidlow·August 26, 2025Frontend
Security — Unmasking the Unseen: Your Guide to Taming Shadow AI with Cloudflare One

Unmasking the Unseen: Your Guide to Taming Shadow AI with Cloudflare One

The digital landscape of corporate environments has always been a battleground between efficiency and security. For years, this played out in the form of "Shadow IT" — employees using unsanctioned laptops or cloud services to get their jobs done faster. Security teams became masters at hunting these rogue systems, setting up firewalls and policies to bring order to the chaos. But the new frontier

NJNoelle, Joey SteinbergerNoelle, Joey Steinberger·August 25, 2025Security
Security — Safeguarding VS Code against prompt injections

Safeguarding VS Code against prompt injections

When a chat conversation is poisoned by indirect prompt injection, it can result in the exposure of GitHub tokens, confidential files, or even the execution of arbitrary code without the user’s explicit consent. In this blog post, we’ll explain which VS Code features may reduce these risks.

MSMichael StepankinMichael Stepankin·August 25, 2025Security
Performance — MoQ: Refactoring the Internet's real-time media stack

MoQ: Refactoring the Internet's real-time media stack

For years, developers have been stitching together multiple protocols for real-time media, trading latency for scale and simplicity. Media over QUIC (MoQ) is a new IETF standard that resolves this conflict, creating a single foundation for sub-second, interactive streaming at a global scale.

MEMike English, RenanMike English, Renan·August 22, 2025Performance
Frontend — 3D Layered Text: Interactivity and Dynamicism

3D Layered Text: Interactivity and Dynamicism

In this third and final chapter, we’re stepping into interactivity by adding JavaScript, starting with a simple :hover effect, and ending with a fully responsive bulging text that follows your mouse in real time.

ASAmit SheenAmit Sheen·August 22, 2025Frontend
Frontend — The science of loudness

The science of loudness

My watch has a “Noise” app: it shows d B , for decibels. Your browser does not support the video tag. My amp has a volume knob, which also shows decibels, although.. negative ones, this time. Your browser does not support the video tag. And finally, my video editing software has a ton of meters — which are all in decibel or decibel-adjacent units. Your browser does not support the video tag. How d

AWAmos WengerAmos Wenger·August 22, 2025Frontend
Security — How a volunteer-run wildfire site in Portugal stayed online during DDoS attacks

How a volunteer-run wildfire site in Portugal stayed online during DDoS attacks

Fogos.pt, a volunteer-run wildfire tracker in Portugal, grew from a side project into a critical national resource used by citizens, media, and government. During 2025 fire season it was hit by DDoS attacks, but stayed online thanks to Cloudflare’s protections under Project Galileo.How a volunteer-run wildfire site in Portugal stayed online during DDoS attacks

JTJoao TomeJoao Tome·August 21, 2025Security
AI & ML — How we built AI face cropping for Images

How we built AI face cropping for Images

AI face cropping for Images automatically crops around faces in an image. Here’s how we built this feature on Workers AI to scale for general availability.

DDDeanna, Diretnan DomnanDeanna, Diretnan Domnan·August 20, 2025AI & ML
Engineering — 3D Layered Text: Motion and Variations

3D Layered Text: Motion and Variations

In this chapter, we will explore ways to animate the effect, add transitions, and play with different variations. We will look at how motion can enhance depth, and how subtle tweaks can create a whole new vibe.

ASAmit SheenAmit Sheen·August 20, 2025Engineering
Frontend — Announcing the Cloudflare Browser Developer Program

Announcing the Cloudflare Browser Developer Program

Announcing the Browser Developer Program: Cloudflare’s new collaborative program to help shape Cloudflare challenges that work seamlessly with your browser. Get a direct communication channel, best practices guidelines, and early visibility into major updates. Join us today!

SOSallylee, Oliver PayneSallylee, Oliver Payne·August 18, 2025Frontend
Frontend — 3D Layered Text: The Basics

3D Layered Text: The Basics

A client asked me to create a bulging text effect. With a bit of cleverness and some advanced CSS, I managed to get a result I’m genuinely proud of, which is covered in this three-part series.

ASAmit SheenAmit Sheen·August 18, 2025Frontend
Engineering — Quick Hit #55

Quick Hit #55

Really good to see Firefox Nightly join in the URL text fragments fun. Looks like we'll have broad support super soon!

GGGeoff GrahamGeoff Graham·August 18, 2025Engineering
Engineering — Highlights from Git 2.51

Highlights from Git 2.51

The open source Git project just released Git 2.51. Here is GitHub’s look at some of the most interesting features and changes introduced since last time.

TBTaylor BlauTaylor Blau·August 18, 2025Engineering
Frontend — An Interactive Guide to SVG Paths

An Interactive Guide to SVG Paths

SVG gives us many different primitives to work with, but by far the most powerful is the element. Unfortunately, it’s also the most inscrutable, with its compact Regex-style syntax. In this tutorial, we’ll demystify this infamous element and see some of the cool things we can do with it!

JWJosh W. Comeau·August 18, 2025Frontend
Performance — Summer fasterthanlime update

Summer fasterthanlime update

There are news! Cool Bear's hot tip TL;DR: If you’re a patron or sponsor, check your Profile page to get detailed explainers of every perk. You’ll need to log in. Duh. Here are all the changes I’m implementing, summarized as a table: Before After 📚 Articles remain exclusive for 6 months Early access ( couple weeks ) for Silver tier 🎞️ No early access for video Video early access on Patreon and web

AWAmos WengerAmos Wenger·August 15, 2025Performance
Career & Teams — Team OKRs in Action

Team OKRs in Action

OKRs have become a popular way to connect strategy with execution in large organizations. But when they are set in a top‑down cascade, they often lose their meaning. Teams receive objectives they didn’t help create, and the result is weak commitment and little real change. High‑performing teams work in another way. They define their own objectives in an organization that uses a collaborative proce

PCPaulo Caroli·August 13, 2025Career & Teams
SRE & Ops — Creating AI agent solutions for warehouse data access and security

Creating AI agent solutions for warehouse data access and security

In this post, we explore the ways we’re evolving Meta’s data warehouse to facilitate productivity and security to serve both human users and AI agents. We detail how we’re developing agents that help users making data access requests to get to the data they need, and that help data owners process requests and maintain security. […]

PHPhil Hornshaw·August 13, 2025SRE & Ops
AI & ML — The three types of AI bot traffic and how to handle them

The three types of AI bot traffic and how to handle them

Bots account for over 20% of all web traffic. A quarter of that is AI crawlers alone. But not all bots are bad. Some are key to how your site gets discovered. Learn how AI bots shape visibility and what happens if you block them.

VVercel·August 13, 2025AI & ML
Frontend — CSS-Questions

CSS-Questions

CSS-Questions is a mini site where you can test your CSS knowledge with over 100 questions.

GGGeoff GrahamGeoff Graham·August 12, 2025Frontend
Networking — The Reformist CTO’s Guide to Impact Intelligence

The Reformist CTO’s Guide to Impact Intelligence

The productivity of knowledge workers is hard to quantify and often decoupled from direct business outcomes. The lack of understanding leads to many initiatives, bloated tech spend, and ill-chosen efforts to improve this productivity. Technology leaders need to avoid this by developing an intelligence of the business impact of their work across a network connecting output to proximate and downstre

SNSriram Narayan·August 12, 2025Networking
Design & UX — Stuff & Nonsense Practical Layout Workshop

Stuff & Nonsense Practical Layout Workshop

Web design veteran Andy Clarke is offering a two-hour workshop all about creating practical and creative page layouts this September 18. Register and save a few bucks with a coupon code.

GGGeoff GrahamGeoff Graham·August 11, 2025Design & UX
Frontend — Getting Creative With Quotes

Getting Creative With Quotes

How do you design block quotes and pull quotes to reflect a brand’s visual identity and help tell its story? Here’s how I do it by styling the HTML blockquote element using borders, decorative quote marks, custom shapes, and a few unexpected properties.

ACAndy ClarkeAndy Clarke·August 11, 2025Frontend