Home/2021
Archive

Year 2021

1,782 articles published in 2021.

Languages — Creating serendipity with Python

Creating serendipity with Python

We've been experimenting with breaking up employees into random groups (of size 4) and setting up video hangouts between them. We're doing this to replace the serendipitous meetings that sometimes occur around coffee machines, in lunch lines or while waiting for the printer.

JGJohn Graham CummingJohn Graham Cumming·February 25, 2021Languages
Security — The little bug that couldn’t: Securing OpenSSL

The little bug that couldn’t: Securing OpenSSL

Software security doesn’t end at the boundaries of your own code. The moment a library dependency is introduced, you’re adopting other people’s code and any bugs that come with it.…

AGAgustin GianniAgustin Gianni·February 25, 2021Security
Engineering — 2020 Transparency Report

2020 Transparency Report

At GitHub, we put developers first, and we work hard to provide a safe, open, and inclusive platform for code collaboration. This means we are committed to minimizing the disruption…

AVAbby VollmerAbby Vollmer·February 25, 2021Engineering
Frontend — Building A Discord Bot Using Discord.js — Smashing Magazine

Building A Discord Bot Using Discord.js — Smashing Magazine

An introduction to building a Discord bot using the Discord.js module. The bot will share random jokes, assign or revoke user roles, and post tweets of a specific account to a Discord channel. In this article, Subha Chanda will showu you how to build a bot from scratch using JavaScript and with help from Discord.js. He’ll cover the process from building the bot up to deploying it to the cloud.

SCSubha ChandaSubha Chanda·February 25, 2021Frontend
Career & Teams — Let’s talk about tech internships

Let’s talk about tech internships

Are you a student developer looking to land an internship? We’ve got answers! We recently sat down with Co.Lab Co-founder Helen Huang on GitHub Campus TV to find out how…

EHElise HollowedElise Hollowed·February 24, 2021Career & Teams
Design & UX — Material Design Text Fields Are Badly Designed — Smashing Magazine

Material Design Text Fields Are Badly Designed — Smashing Magazine

Where to put the label in a web form? In the early days, we talked about left-aligned labels versus top-aligned labels. These days we talk about floating labels. Let’s explore why they aren’t a very good idea, and what to use instead. Some people assume float labels are best because Google’s Material Design uses them. But in this case, Adam Silver recommends using conventional text fields which ha

ASAdam SilverAdam Silver·February 24, 2021Design & UX
Frontend — Hiding Content Responsibly

Hiding Content Responsibly

We've covered the idea of hiding things in CSS many times here, the most recent post being Marko Ilic's "Comparing Various Ways to Hide Things in CSS" which

CCChris Coyier·February 23, 2021Frontend
Databases — PostgreSQL: How to write a trigger

PostgreSQL: How to write a trigger

UPDATED 2023: A trigger is a way to automatically respond to events. This is a tutorial on how to manage and program triggers in PostgreSQL.

HSHans-Jürgen SchönigHans-Jürgen Schönig·February 23, 2021Databases
Engineering — Open source in the 5G stack

Open source in the 5G stack

Developers know the value of openness, and increasingly policymakers are taking note. Open source and open standards approaches offer promising solutions to mounting policy problems related to digital sovereignty. One…

PCPeter CihonPeter Cihon·February 23, 2021Engineering
SRE & Ops — Mitigating the effects of silent data corruption at scale

Mitigating the effects of silent data corruption at scale

What the research is: Silent data corruption, or data errors that go undetected by the larger system, is a widespread problem for large-scale infrastructure systems. This type of corruption can propagate across the stack and manifest as application-level problems. It can also result in data loss and require months to debug and resolve. This work […]

MEMeta Engineering·February 23, 2021SRE & Ops
Frontend — Create Responsive Image Effects With CSS Gradients And aspect-ratio — Smashing Magazine

Create Responsive Image Effects With CSS Gradients And aspect-ratio — Smashing Magazine

A classic problem in CSS is maintaining the aspect ratio of images across related components, such as cards. The newly supported `aspect-ratio` property in combination with `object-fit` provides a remedy to this headache of the past! In this article, Stephanie Eckles will show you how to use these properties, in addition to creating a responsive gradient image effect for extra flair.

SEStephanie EcklesStephanie Eckles·February 23, 2021Frontend
Design & UX — Getting Deep Into Shadows

Getting Deep Into Shadows

Let’s talk shadows in web design. Shadows add texture, perspective, and emphasize the dimensions of objects. In web design, using light and shadow can add

RORob O'LearyRob O'Leary·February 22, 2021Design & UX
Engineering — What The Heck, z-index??

What The Heck, z-index??

The z-index property can be a tricky little bugger. Sometimes, no matter how much you crank up the number, the element never rises to the top! In this article, we explore stacking contexts, and see how they can thwart our efforts to use z-index. We'll also learn how to use this mechanism to our advantage.

JWJosh W. Comeau·February 22, 2021Engineering
SRE & Ops — FOQS: Scaling a distributed priority queue

FOQS: Scaling a distributed priority queue

We will be hosting a talk about our work on Scaling a Distributed Priority Queue during our virtual Systems @Scale event at 11 am PT on Wednesday, February 24, followed by a live Q&A session. Please submit any questions to [email protected] before the event. The entire Facebook ecosystem is powered by thousands of distributed systems […]

CWChris Wiltz·February 22, 2021SRE & Ops
Databases — Read Consistency with Database Replicas - Shopify

Read Consistency with Database Replicas - Shopify

At Shopify, we’ve long used database replication for redundancy and failure recovery, but only fairly recently started to explore the potential of replicas as an alternative read-only data source for applications.

SEShopify Engineering·February 22, 2021Databases
Frontend — Three Ways to Blob with CSS and SVG

Three Ways to Blob with CSS and SVG

Blobs are the smooth, random, jelly-like shapes that have a whimsical quality and are just plain fun. They can be used as illustration elements and background

AMAkash MittalAkash Mittal·February 19, 2021Frontend
Distributed — Engineering dependability and fault tolerance in a distributed system - High Scalability -

Engineering dependability and fault tolerance in a distributed system - High Scalability -

This is a guest post by Paddy Byers, Co-founder and CTO at Ably, a realtime data delivery platform. You can view the original article on Ably's blog. Users need to know that they can depend on the service that is provided to them. In practice, because from time to time individual elements will inevitably fail, this means you have to be able to continue in spite of those failures. In this article,

HSHigh Scalability·February 19, 2021Distributed
Engineering — Building Your Own Personal Learning Curriculum — Smashing Magazine

Building Your Own Personal Learning Curriculum — Smashing Magazine

As developers, we’re constantly learning new languages and frameworks. But how can you structure this learning to ensure maximum benefit while still progressing? Here’s how you can devise your own curriculum to keep moving in the right direction. The following are simply steps that worked for Kirsty Simmonds when she needed to learn over time, without burning out or placing undue pressure on mysel

KSKirsty SimmondsKirsty Simmonds·February 19, 2021Engineering
Engineering — Introducing: Smarter Tiered Cache Topology Generation

Introducing: Smarter Tiered Cache Topology Generation

Announcing a fundamental improvement to Argo Tiered Cache we’re calling Smart Tiered Cache Topology. When enabled, Argo Tiered Cache will now dynamically select the single best upper tier for each of your website’s origins while providing tiered cache analytics.

AAlexAlex·February 18, 2021Engineering
Frontend — Barebones CSS for Fluid Images

Barebones CSS for Fluid Images

Zach takes a look at some fundamental HTML+CSS usage for fluid, responsive images. Most of it, I'd say, is what you'd expect, but things get weird when srcset

CCChris Coyier·February 18, 2021Frontend
Frontend — Let’s Create a Custom Audio Player

Let’s Create a Custom Audio Player

HTML has a built-in native audio player interface that we get simply using the <audio> element. Point it to a sound file and that’s all there is to it.

IUIdorenyin UdohIdorenyin Udoh·February 18, 2021Frontend
Performance — Shadow Jobs

Shadow Jobs

We take developer productivity pretty seriously at Slack. It’s multi-faceted, spreading across build speed, reliability, modernity, and more. One thing we really pride ourselves in is using the latest build tools when possible. Not necessarily bleeding edge (alphas, betas, RC, etc.), but the latest stable versions. Aside from the new features and improvements they bring,…

ZSZac Sweers·February 18, 2021Performance
Engineering — Introducing GitHub Campus TV!

Introducing GitHub Campus TV!

We’re thrilled to announce the launch of GitHub Campus TV! With new shows every week, tune in to hear from experts, participate in workshops, and join a community of passionate…

EHElise HollowedElise Hollowed·February 17, 2021Engineering
Databases — Benchmark (YCSB) numbers for Redis, MongoDB, Couchbase2, Yugabyte and BangDB - High Scalability -

Benchmark (YCSB) numbers for Redis, MongoDB, Couchbase2, Yugabyte and BangDB - High Scalability -

This is guest post by Sachin Sinha who is passionate about data, analytics and machine learning at scale. Author & founder of BangDB. This article is to simply report the YCSB bench test results in detail for five NoSQL databases namely Redis, MongoDB, Couchbase, Yugabyte and BangDB and compare the result side by side. I have used latest versions for each NoSQL DB and have followed the recommendat

HSHigh Scalability·February 17, 2021Databases
SRE & Ops — Faster, more efficient systems for finding and fixing regressions

Faster, more efficient systems for finding and fixing regressions

Every workday, Facebook engineers commit thousands of diffs (which is a change consisting of one or more files) into production. This code velocity allows us to rapidly ship new features, deliver bug fixes and optimizations, and run experiments. However, a natural downside to moving quickly in any industry is the risk of inadvertently causing regressions […]

MEMeta Engineering·February 17, 2021SRE & Ops
Performance — Optimizing Video For Size And Quality — Smashing Magazine

Optimizing Video For Size And Quality — Smashing Magazine

Adding video to your application can increase customer engagement and satisfaction. But the exact opposite can occur when there are issues with the video playback: video stalls are frustrating and drive customers away. In this article, Doug Sillars will walk you through the steps to optimize the video on your website to ensure fast playback and reduce stalls.

DSDoug SillarsDoug Sillars·February 15, 2021Performance
Design & UX — Things To Expect From A Smashing Workshop: Form Design Masterclass — Smashing Magazine

Things To Expect From A Smashing Workshop: Form Design Masterclass — Smashing Magazine

A couple of weeks ago, we organized a [Form Design Masterclass](https://smashingconf.com/online-workshops/workshops/adam-silver), an online workshop with Adam Silver alongside 81 friendly and smart people. Today, Adam Silver shares his experience and details by highlighting what you as an attendee can expect from a Smashing Workshop, and things to keep in mind when running one.

ASAdam SilverAdam Silver·February 15, 2021Design & UX