
useEffect vs useLayoutEffect
The simple rules for when to use each.
4,266 articles on Engineering.

The simple rules for when to use each.

What if, for some users, the very best Spotify is a little less Spotify? Spotify Lite started as an experiment that had to be proven, both from a technical and a product-market fit perspective. In 2017, we found that a significant portion of registrations in some of our fastest-growing markets were happening on Android devices much older than what we were used to seeing in North American and Europ

An attempt at implementing char-rnn with PyTorch

Let’s welcome December with some new wallpapers! Designed by artists and designers from across the globe, they are available with and without a calendar for the month. All images can be clicked on and lead to the preview of the wallpaper. We respect and carefully consider the ideas and motivation behind each and every artist’s work. This is why we give all artists the full freedom to explore their

If you want to relax in an active and learning way this Thanksgiving weekend, here are some of the topics we’ve covered on the Cloudflare blog this past week that you may find interesting.

Reactive variables work with GraphQL Apollo and offer you the same functionality with Redux or Context API without the complexity or extra layers that come with these other tools. A reactive variable in GraphQL Apollo is easy to use and doesn’t have as much setup process compared to Redux. In this article, Daniel Don will look at how to set up reactive variables, how the GraphQL cache polices come


Copy docs is a framework that allows product designers and writers to manage their in-product copy in a smart way. In this article, Valeriia Panina shares her experience in how the copy docs technique turned out to be a game changer for her workflow. The copy docs technique was a game changer for Valeriia’s workflow and she’d be happy if it boosts yours, too!

We previously explained how and why we built Quicksilver. This second blog post is about the long journey to production which culminates with Kyoto Tycoon removal from Cloudflare infrastructure and points to the first signs of obsolescence.

In the product-focused world of development, it can be easy to forget the joy of making for the sake of making. By dropping the ‘Why’ and ‘How’, and focusing instead on the ‘What’ of weird, wonderful ideas, you can nurture a totally different side to your skill sets. You can read the docs, you can follow the tutorials, but wouldn’t you be more motivated by trying to make something unique, somethin

Day 11: learning about learning rates

A refresh of the hardware that Cloudflare uses to run analytics provided big efficiency improvements.

I'm sure different people picture different things when they think about webrings, so let me clarify what I picture. I see an element on a website that:

Earlier this year, we upgraded the notifications experience on GitHub, focusing on filters that get you straight to the updates that matter most to you. Just last week, we shipped…

Day 10: Training an RNN to count to three

The evolution of Auto Layout and more on the latest version

The Digital Millennium Copyright Act (DMCA) is a 22-year old United States law meant to strike a complicated balance between art, code, and speech on the net — impacting users…

Day 9: Generating a lot of nonsense with an RNN

This article focuses adding WebGL effects to <image> and <video> elements of an already “completed” web page. While there are a few helpful

GitHub Actions are like free computers.


Day 8: Start with something that works


The latest version of GitHub Desktop includes split diffs, PRs with Actions status, more control over stashing, and discarding changes from files.


Learn to build your first Dropbox Extension using sample code in node.js

As part of GitHub’s commitment to developers, we open source the policies that govern our platform and welcome feedback at any time in our site-policy repository. When we make material…

We’re here to bring you the latest and greatest releases for November 2020. These are exciting new releases from some of the coolest projects around. There’s everything from world-changing tech…

Today we reinstated youtube-dl, a popular project on GitHub, after we received additional information about the project that enabled us to reverse a Digital Millennium Copyright Act (DMCA) takedown.

Day 5: drawing lots of faces with sketch-rnn

The convention when contributing to projects on version control platforms is that there is the main branch containing the functional codebase. Then, there are other branches in which several developers can work on copies of the main to either add a new feature, fix a bug, and so on. If there is any error, it can easily be traced and fixed before integrating the changes into the main branch. It can

How do you write simple explanations without sounding condescending?

Cloudflare celebrated UK Black History Month remotely!

The simplest getting started guide for Firebase Cloud functions

A built-in commenting system is one of the reasons people reach for WordPress (and often stay there long-term). While I do think having a comment system is

Earlier this year I wrote a bit about autogrowing textareas and inputs. The idea was to make a <textarea> more like a <div> so it expands in

Day 3: an infinitely tall fridge

Easily create server code without worrying about managing servers yourself

I am incredibly excited to announce that I have joined Cloudflare as its Head of France to help build a better Internet and expand the company’s growing customer base in France. This is an important milestone for Cloudflare as we continue to grow our presence in Europe.

As quickly as I can:

Day 2: Rails associations & dragging divs around

Day 1: a confusing Rails error message

A new way I'm getting feedback on my zines: beta readers!

The cap of two hundred thousand routing cryptographic records was recently passed. We thought it was time for an update on a major year for RPKI.

The use of serverless applications by developers to handle the business logic of their applications in on the high increase, but how does the Google Cloud — a major service provider within the public cloud — allow developers to manage serverless applications? In this article, you will learn what serverless applications are, how they are used on the Google Cloud, and also scenarios in which they ca

We use ClickHouse widely at Cloudflare. It helps us with our internal analytics workload, bot management, customer dashboards, and many other systems.

I'm doing another Recurse Center batch!

In this article, you will be exposed to ApexCharts and to the different types and variants of charts it provides. Along the way, we’ll build several types of charts and learn how we can customize the appearance of our charts. By the end of the article, you will be able to integrate different types and variants of chats in your applications with ApexCharts.

We’re hosting webinars on the HelloSign API in the UK, Germany, and France. Register today and come learn about the HelloSign API.

Starting today, Vercel Analytics is available for Gatsby projects – without any configuration.

Dozens of top leaders and thinkers from the tech industry and beyond recently joined us for a series of fireside chats commemorating Cloudflare’s 10th birthday. Here are some of the highlights.

Do you have a hard time throwing away mockups, logos and other content you’ve created for clients? The good news is that you don’t have to see rejected or unused designs as a sign of failure or waste. You can actually repurpose them and give them new life on other projects, for other customers, and even within your own business. I’ll explain four ways to do this in this post.

In this episode of The Smashing Podcast, we’re talking about Eleventy. What is it and how does it fit into your Jamstack workflow? I spoke to David Darnes to find out.

Closing that priority issue you’re working on can wait—put down your keyboard and vote! Millions of you already have, and your vote in national and local elections may just impact…

Getting stuck in traffic is one of the most frustrating experiences for drivers around the world. Everyone slows to a crawl, sometimes for a minor issue or sometimes for no reason at all. As…

The theme for this year’s Game Off is MOONSHOT. moonshot – noun an extremely ambitious and innovative project the act of launching a spacecraft to the moon a hit or…

So you’ve read of our two-part series about the new Experimentation Platform we’ve built at Spotify, and now know why we decided to invest in a new platform. In Part II, you’ll get a more detailed look at how we assigned users to experiments, how we analyze results and ensure test integrity.

Give your desktop a makeover with this new collection of wallpapers. Designed by the community for the community, the wallpapers come in versions with and without a calendar for November 2020. Since so many beautiful and inspiring designs have seen the light of day as a part of this ongoing series, we browsed through our archives on the look for November goodies from the past. You’ll find a select

I updated my personal website the other day. Always a fun project since it's one of the few where it's 100% just me. It's my own personal playground with no

WARNING: This post contains zombies, werewolves, extra dimensional beings, mummies, and more! Proceed at your own risk. Trick or treat yourself to some fangtastic Halloween-themed games this weekend. These were…