
How to Create a Favicon That Changes Automatically
I found this Free Favicon Maker the other day. It’s a nice tool to make a favicon (true to its name), but unlike other favicon generators, this one lets you
4,235 articles on Engineering.

I found this Free Favicon Maker the other day. It’s a nice tool to make a favicon (true to its name), but unlike other favicon generators, this one lets you

We detail the great momentum we’ve had with our partners at GitHub this past year, building a healthy ecosystem aimed at making our users more productive.

Today, we’re making several announcements around improving Internet protocols with respect to something important to our customers and Internet users worldwide: privacy.

Spoiler alert: There is no support for it yet. But it is defined in the Media Queries Level 5 spec that includes other recent, but more familiar user

Check out the latest announcements from GitHub Universe 2020, including dark mode, Sponsors for companies, improvements to Actions, dependency review, and more.

Day 22: getting OAuth to work in Rails

Day 21: wrangling systemd & setting up git deploys to a VM

The 2019 [Capgemini research institute](https://www.capgemini.com/research-institute/)’s report published after a research on the use of chat assistants showed a drastic 76% increase in customer satisfaction from organizations where chat assistants where built and incorporated into their services. But how does [Dialogflow](https://cloud.google.com/dialogflow/docs), a product from Google’s ecosyste

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

Over the past few years, we have been striving to make VMAF a more usable tool not just for Netflix, but for the video community at large. This tech blog highlights our recent progress toward this…

With BFCM on the horizon, there is a lot of preparation that Shopify needs to do on our platform. This effort needs a key driver to set expectations for many teams and hold them accountable to complete the work.

Over the course of the week, we'll be announcing ways that our customers can use our service in order to ensure they are in compliance with an increasingly complicated set of rules and laws around the world.


Day 19: Clustering faces (poorly) using an autoencoder

How I write useful programming comics

Day 20: trying to figure out how Google Cloud IAM works

This blog is a quick Electrical Engineering 101 session going over specifically how 3-phase PDUs work, along with some good practices on how we use them

Leaders from across the tech industry and beyond recently joined us for Cloudflare’s Birthday Week, helping us celebrate Cloudflare’s 10th birthday. Many of them touched on the importance of diversity and making the Internet accessible to everyone.

Meet our new friendly online meet-up, Smashing Meets, with three wonderful speakers, the entire Smashing family and plenty of truly smashing cats. As always, free for Smashing Members.

In our ongoing “Building GitHub” series, we talk about some of the projects we’re working on to improve how efficiently we build GitHub, as well as increase GitHub’s availability, stability,…

The year 2020 has upended nearly every aspect of society. In a panel for GitHub Satellite back in May, we briefly covered some of the ways in which our social…

Day 18: an answer to an autoencoder question

Introduction In November, we experienced two incidents resulting in significant impact and degraded state of availability for issues, pull requests, and GitHub Actions services. November 2 12:00 UTC (lasting 32…

Change is inevitable, and this year, it has been inescapable. We’ve had to find new ways to relate, learn, and balance both work and life at home. One thing has…

How to get help from Kent

Even though the development of a data importer is a complex matter, you don’t want your users’ experience with it to be just as complex or complicated. The second they experience any friction or fault in data onboarding, the chances of them bailing from the software will skyrocket. So, in this post, we’re going to focus on how best to present your data importer to users.

Matthias Ott, comparing how painter Gerhard Richter paints (do stuff, step back, take a look) to what can be the website building process and what can wreck it:


Day 17: trying to wrap my head around autoencoders

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