
What I Like About Craft CMS
Looking at the CMS scene today, there are upwards of 150 options to choose from — and that’s not including whatever home-grown custom alternatives people
2,167 articles published in 2020.

Looking at the CMS scene today, there are upwards of 150 options to choose from — and that’s not including whatever home-grown custom alternatives people

Robin recently lamented the common complaint that CSS is frustrating. There are misconceptions about what it is and what it does. There are debates about what

Let’s create a pure CSS effect that changes the color of a text link on hover… but slide that new color in instead of simply swapping colors.

Hey how cool! A documentary about Vue! Good timing as it looks like VueConf is happening right now. (Reminder we have a site for conferences to tell you stuff

Learn more about decisions we’ve made to protect our employees, our community, and our customers in response to COVID-19.

Ensuring a consistently great Netflix experience while continuously pushing innovative technology updates is no easy feat. How can we be confident that updates are not harming our users? And that…


Prototyping helps to formulate the main trajectory of the design by framing your mind around a continuous pursuit of better concepts. Any team that makes a prototyping integral part of their design is motivated to search for a better solution. Today, Tony Kim will introduce you to ProtoPie, a tool that will help you prototype in the best way possible to validate an idea and bring it to life.

Last month finally I had an opportunity to use Bloom filters. I became fascinated with the promise of this data structure, but I quickly realized it had some drawbacks. This blog post is the tale of my brief love affair with Bloom filters.

Have you ever found yourself either writing a CSS selector that winds up looking confusing as heck, or seen one while reading through someone's code? That

I was extremely excited when I first heard that clip-path: path() was coming to Firefox. Just imagine being able to easily code a breathing box like the one

We, and our colleagues, are often called on to perform architectural assessments for our clients. When we do this, the architects involved with these systems will talk about the performance of these systems, how resilient they are to faults, and how they are designed to evolve to easily support new capabilities. The elephant that rarely comes up, however, is how different systems contribute to bus

A surprisingly-common misconception can lead to big rendering issues that are difficult to debug. This deep-dive tutorial examines how React and Gatsby can be used to pre-render content, and how we can work around the constraints to build dynamic, personalized web apps.

Why using a status enum (or even better: a **state machine**) will help your app stay bug free

We are excited to begin rolling out the new version of Messenger on iOS. To make the Messenger iOS app faster, smaller, and simpler, we rebuilt the architecture and rewrote the entire codebase, which is an incredibly rare undertaking and involved engineers from across the company. Compared with the previous iOS version, this new Messenger […]


In this sixth instalment of Inspired Design Decisions, Andy Clarke will explore how British art director Neville Brody and in particular his work on The Face Magazine inspires his designs for the web. How do we use blend modes to add depth to our designs? How do we use vertical text for impact? How can we use clipping paths to bring in character and energy to a design? In this article, Andrew Clar

Looking back at this week's posts on the design, specifications, and performance of Cloudflare’s Gen X servers using AMD CPUs. Every server can run every service. This architectural decision has helped us achieve higher efficiency across the Cloudflare network.


Mornings start with a wake-up call from my three young children. I get them fed, dressed and ready for school. But first, I need an espresso – that’s absolutely necessary if I’m going to get anything done! I don’t really go online until I’ve dropped off the kids around 8.15am, then I hop on the subway and head downtown, checking my email and Slack messages en route.

Yesterday, we released the open source version of , our homegrown developer portal. And we learned a thing or two via the feedback we received. So, I wanted to take this opportunity to further explain what we’re trying to do with Backstage — and more importantly, what we want to give to the greater engineering community beyond Spotify.

I get up, have breakfast and am ready to leave the house by 7.30 am. Every day, I cycle the 12km to and from the office—it’s mostly on safe, car-free bike tracks, and I love having the time to clear my head and think freely. It doesn’t even matter what the weather’s like—I’ll cycle, rain or shine.

This week, we launched our ! Third-party apps can now connect to Spotify and manage a user’s podcast library, search our podcast catalog, or fetch detailed information about podcast shows and episodes.

Around this time of year in the United States, African-Americans are often tasked with explaining why we spend 28 (or in the case of leap year 29) days celebrating the contributions our ancestors made to this country.

<input type="number">, <input type="date">, <input type="search">, <select multiple>, <progress>, <meter>,


Do you need a little inspiration boost? Well, then our new batch of wallpapers is for you. We embarked on this monthly wallpapers journey more than nine years ago and we’re very thankful for everyone who submits their artworks to it each month anew. Today, designed by artists and designers from across the globe, Cosima Mielke brings you versions with and without a calendar for March 2020.

At Cloudflare, we encrypt data both in transit (on the network) and at rest (on the disk). Both practices address some of the most common vectors used to exfiltrate information and these measures serve to protect sensitive data from attackers but, what about data currently in use?

A standard e-commerce site has a few common pages. There are product pages, shop pages that list products, and let’s not forget pages for the user account,

Not long ago, I posted about PHP templating in just PHP (which is basically HEREDOC syntax). I'm literally using that technique for some super basic

Over a decade ago, I did a little three-part video series on Designing for WordPress. Then I did other series with the same spirit, like videocasting the

Recently, we’ve had multiple service interruptions on GitHub.com. We know how important reliability of our service is for your projects and teams. We take this responsibility very seriously and apologize…

Wake up! It's HighScalability time: The Smithsonian has million of pieces of delicious open access content. I ate up this 3D representation of the 1903 Wright Flyer. Do you like this sort of Stuff? Without your support on Patreon this kind of Stuff won't happen. That's how important you are to the fate of the world. Need to understand the cloud? Know someone who does? I wrote Explain the Cloud Lik

The word “SEO” holds a lot of weight. We know how critical it is to the success of a website and, yet, it often becomes one of those things that’s left until the very end of a web design project to deal with. Or, worse, it’s pushed onto one person’s plate who likely isn’t capable of doing all that needs to be done. SEO should be a team sport — and that’s what today’s post is all about.

Conferences are about gathering information and knowledge but are also opportunities to meet and learn from other like-minded folks in the web design community. Plus, you’ll be exposed to a lot of new information, which will help you advance in your career. Let’s dive into our list for January to December. Jan Constantin will keep updating this list, so make sure to bookmark this page and check it

We have partnered with AMD to get the best performance out of this processor and today, we are highlighting our tuning efforts that led to additional performance across our entire Gen X fleet of servers powered by the 2nd Gen AMD EPYC 7642.

Here’s a great thread by Kevin Powell that's making the rounds. He believes so many folks see CSS as a frustrating and annoying language:

Tim Kadlec:

GraphQL is becoming popular and developers are constantly looking for frameworks that make it easy to set up a fast, secure and scalable GraphQL API. In this

When we first set out to organize a user conference, our goal was to create a space to have meaningful conversations. Here is a look at some key themes that emerged from those conversations.

What we've learned so far from dealing with the Coronavirus Disease 2019 (Covid-19) outbreak

Starting March 5, we’re hosting an online GitHub Actions Hackathon challenging you to create original Actions.

Whenever a web client uploads a file to a server, it is generally submitted through a form and encoded as multipart/form-data. Multer is a middleware for Express.js and Node.js that makes it easy to handle this so-called multipart/form-data whenever your users upload files. In this article, Deve Rathore introduces how Multer streamlines the process of handling file uploads. It also introduces how

Today we’re releasing one of the most requested Workers features: support for secrets and environment variables through the Wrangler CLI and Workers Dashboard.

Our Gen X servers process more requests per second per core than our previous fleet. The AMD 2nd Gen EPYC 7642 processor’s large L3 cache minimizes L3 cache misses, and the time-savings add up quickly.

Foldable devices have brought with them talk of a ‘foldable web,’ and the idea that long-standing web conventions may be on the verge of a serious shakeup. Is it all hype, or is it time to get flexible? The ‘foldable web’ will bring with it new challenges, new opportunities, and, in all likelihood, new syntax. The web could be in for its biggest shakeup since the smartphone. Users and coders alike

As we looked at production ready systems to power our Gen X solution, we’re moving on from Gen 9's 48-core setup of dual socket Intel Xeon Platinum 6162's to a 48-core single socket AMD EPYC 7642.

Visualizing OSM datasets with QGIS. Generation of some nice maps on the client | Map Styling in QGIS | Adding Spatial data

Quickly find and take action on your notifications with the new notifications experience on GitHub.com

The GitHub Student Developer Pack delivers the best real-world developer tools and training from over 100 partner companies.

High-quality internet access opens new opportunities to make yourself heard, connect with the people and communities you care about, and build new businesses. It’s also good for industries and businesses of all kinds, including Facebook. The latest edition of our Inclusive Internet Index shows progress on bringing broadband access to more people, but the rate […]

This guide will show you how to make a native component that provides bottom sheet functionality to React Native and renders React views inside.

In this episode of the Smashing Podcast, we’re talking about Ethical Design. What does it mean for a design to be ethical, and how do we make improvements in our own projects? Drew McLellan speaks to Trine Falbe and Martin Michael Frederiksen to find out.

The novel coronavirus is actively changing how organizations work in real-time. According to Fortune, the virus has led to the “world’s largest work-from-home experiment.” As the epidemic crosses borders, employees are staying home and putting new stress on how companies manage remote work.

We designed and built Cloudflare’s network to be able to grow capacity quickly and inexpensively; to allow every server, in every city, to run every service; and to allow us to shift customers and traffic across our network efficiently.

I posted about parsing an RSS feed in JavaScript the other day. I also posted about my RSS setup talking about how Feedbin is at the heart of it.

It's been over a year since the big WordPress launch of Gutenberg, the new editor. It seems to me most of the controversy around it has died down. There has

I was emailing a service about their documentation and while their doc was good, about one particularly tricky concept they told me that once you use it for a while, that’s when you’ll understand it. In other words: you’ll only understand it after you understand it. I didn’t like that response. I want documentation that takes me from an unproductive newbie to a somewhat functioning journeyperson.

A common thing in React development is that we want to store a bit of React state in localStorage, and re-initialize from that value on the next page-load. This quick tutorial shows you how we can build a custom hook that does exactly this!

If you're not careful you can write a test that's worse than having no tests at all