Home/2020
Archive

Year 2020

2,167 articles published in 2020.

Frontend — Easing Animations in Canvas

Easing Animations in Canvas

The <canvas> element in HTML and Canvas API in JavaScript combine to form one of the main raster graphics and animation possibilities on the web. A

DSDarshan SomashekarDarshan Somashekar·June 19, 2020Frontend
Performance — A Monthly Update On All Things Smashing — Smashing Magazine

A Monthly Update On All Things Smashing — Smashing Magazine

Every month, we present an overview of things the Smashing team has been working on — all in one place. We organized Smashing Meets on three days — events that were open to everyone in the web community. With sessions on performance, CSS, GraphQL, and creative courage, we made sure to leave plenty of time for Q&A, networking, competitions and prizes. The past few weeks have been quite challenging:

ILIris LjesnjaninIris Ljesnjanin·June 19, 2020Performance
Design & UX — What Vitruvius Can Teach Us About Web Design — Smashing Magazine

What Vitruvius Can Teach Us About Web Design — Smashing Magazine

The ancients can teach us a thing or two about design — even web design. The Roman architect Vitruvius had buildings in mind when laying out his golden triad, but its principles are just as applicable to the web as they are to brick and mortar. Today’s article is about architecture, and how some of its core tenets apply to the worldwide web. Architectural terms are not unusual in web development,

FOFrederick O BrienFrederick O Brien·June 19, 2020Design & UX
Systems — Why is there a "V" in SIGSEGV Segmentation Fault?

Why is there a "V" in SIGSEGV Segmentation Fault?

My program received a SIGSEGV signal and crashed with "Segmentation Fault" message. Where does the "V" come from? Did I read it wrong? Was there a "Segmentation *V*ault?"? Or did Linux authors make a mistake? Shouldn't the signal be named SIGSEGF?

MMMarek Majkowski, David WraggMarek Majkowski, David Wragg·June 18, 2020Systems
Design & UX — Solving Common Cross-Platform Issues When Working With Flutter — Smashing Magazine

Solving Common Cross-Platform Issues When Working With Flutter — Smashing Magazine

When using cross-platform frameworks, people might forget the nuances of each of the platforms they want their code to run on. This article aims to address that. Today, Carmine Zaccagnino is going to see some of those differences and how to overcome them. More specifically, he’re going to talk about storage and UI differences, which are the ones that most often cause confusion to developers when w

CZCarmine ZaccagninoCarmine Zaccagnino·June 18, 2020Design & UX
AI & ML — Using GitHub Actions for MLOps & Data Science

Using GitHub Actions for MLOps & Data Science

Background Machine Learning Operations (or MLOps) enables Data Scientists to work in a more collaborative fashion, by providing testing, lineage, versioning, and historical information in an automated way. Because the…

HHHamel HusainHamel Husain·June 17, 2020AI & ML
Design & UX — Mirage JS Deep Dive: Using Mirage JS And Cypress For UI Testing (Part 4) — Smashing Magazine

Mirage JS Deep Dive: Using Mirage JS And Cypress For UI Testing (Part 4) — Smashing Magazine

UI or User Interface test is a form of acceptance testing done to verify the user flows of your front-end application. The emphasis of these kinds of software tests is on the end-user that is the actual person who will be interacting with your web application on a variety of devices ranging from desktops, laptops to mobile devices. In this final part of Mirage JS Deep Dive series, Kelvin Omereshon

KOKelvin OmereshoneKelvin Omereshone·June 17, 2020Design & UX
Performance — Introducing Cache Analytics

Introducing Cache Analytics

Cache Analytics gives you deeper exploration capabilities into Cloudflare’s content delivery services, making it easier than ever to improve the performance and economics of serving your website to the world.

JJplJpl·June 16, 2020Performance
Databases — Wrapping DB2 with PostgreSQL

Wrapping DB2 with PostgreSQL

Connection of DB2 with PostgreSQL done with the extension db2_fwd | Migration of db2's data to PostgreSQL | Read data from DB2

MDMarcelo DiazMarcelo Diaz·June 16, 2020Databases
Engineering — Welcoming the Octograds of 2020

Welcoming the Octograds of 2020

Class of 2020, you did it! With schools turning to drive through diploma stops and recreating their campus in Minecraft, GitHub Education decided that celebrating this milestone for the next…

EHElise HollowedElise Hollowed·June 16, 2020Engineering
Frontend — Better Reducers With Immer — Smashing Magazine

Better Reducers With Immer — Smashing Magazine

In this article, we’re going to learn how to use Immer to write reducers. When working with React, we maintain a lot of state. To make updates to our state, we need to write a lot of reducers. Manually writing reducers results in bloated code where we have to touch almost every part of our state. This is tedious and error-prone. In this article, Chidi Orjil going to see how Immer brings more simpl

COChidi OrjiChidi Orji·June 16, 2020Frontend
Security — Using data science and machine learning for improved customer support

Using data science and machine learning for improved customer support

In this blog post we’ll explore three tricks that can be used for data science that helped us solve real problems for our customer support group and our customers. Two for natural language processing in a customer support context and one for identifying attack Internet attack traffic.

JAJunade Ali, MalgorzataJunade Ali, Malgorzata·June 15, 2020Security
Engineering — What is Developer Experience (DX)?

What is Developer Experience (DX)?

Developer Experience¹ is a term² with a self-declaring meaning — the experience of developers — but it eludes definition in the sense that people invoke it at

CCChris Coyier·June 15, 2020Engineering
Engineering — My Flywheel Landing Page

My Flywheel Landing Page

Flywheel is my WordPress hosting partner here. I use Local every day for my WordPress local development environment and use their hosting for all my WordPress

CCChris Coyier·June 15, 2020Engineering
Distributed — How TripleLift Built an Adtech Data Pipeline Processing Billions of Events Per Day - High Scalability -

How TripleLift Built an Adtech Data Pipeline Processing Billions of Events Per Day - High Scalability -

This is a guest post by Eunice Do, Data Engineer at TripleLift, a technology company leading the next generation of programmatic advertising. What is the name of your system and where can we find out more about it? The system is the data pipeline at TripleLift. TripleLift is an adtech company, and like most companies in this industry, we deal with high volumes of data on a daily basis. Over the la

HSHigh Scalability·June 15, 2020Distributed
Engineering — Which Video Conferencing Tools Are Most Accessible? — Smashing Magazine

Which Video Conferencing Tools Are Most Accessible? — Smashing Magazine

With the right apps, working from home is a blessing for those with a disability. Working from home allows you to attend to your medical needs in ways that might be disruptive in an office, like running a nebulizer or using an IV. Or you may avoid the hassle of navigating a building that’s not truly accessible. In this article, Claudio Luis Vera explains what to keep in mind when choosing between

CLClaudio Luis VeraClaudio Luis Vera·June 15, 2020Engineering
Engineering — Health Check Analytics and how you can use it

Health Check Analytics and how you can use it

Health Check Analytics is now live and available to all Pro, Business and Enterprise customers! We are very excited to help decrease your time to resolution and ensure your application reliability is maximised.

FBFabienne, BrianFabienne, Brian·June 12, 2020Engineering
Frontend — On Adding IDs to Headings

On Adding IDs to Headings

Here's a two-second review. If an element has an ID, you can link to it with natural browser behavior. It's great if headings have them, because it's often

CCChris Coyier·June 11, 2020Frontend
Distributed — Sponsored Post: StackHawk, InterviewCamp.io, Educative, Triplebyte, Stream, Fauna - High Scalability -

Sponsored Post: StackHawk, InterviewCamp.io, Educative, Triplebyte, Stream, Fauna - High Scalability -

Who's Hiring? * InterviewCamp.io has hours of system design content. They also do live system design discussions every week. They break down interview prep into fundamental building blocks. Try out their platform. * Triplebyte lets exceptional software engineers skip screening steps at hundreds of top tech companies like Apple, Dropbox, Mixpanel, and Instacart. Make your job search O(1), not O(n).

HSHigh Scalability·June 11, 2020Distributed
Distributed — Spark Joy by Running Fewer Tests - Shopify

Spark Joy by Running Fewer Tests - Shopify

Developers write tests to ensure correctness and allow future changes to be made safely. However, as the number of features grows, so does the number of tests. Tests are a double-edged sword. On one hand, well-written ones catch bugs and maintain a program’s stability, but as the code base grows, a high number of tests impedes scalability because they take a long time to run and increase the likel

SEShopify Engineering·June 11, 2020Distributed
Performance — Scaling End-to-End User Interface Tests

Scaling End-to-End User Interface Tests

At Slack, Quality is a shared responsibility. The Quality Engineering team is focused on creating a culture of testing, increasing test coverage, and helping the company ship high-quality features faster. We encourage all our developers to write and own end-to-end (E2E) tests. In turn, Quality Engineering (QE) is responsible for the frameworks used and provides…

RRoss·June 11, 2020Performance
Frontend — Building A Facial Recognition Web Application With React — Smashing Magazine

Building A Facial Recognition Web Application With React — Smashing Magazine

In this article, Adeneye David Abiodun explains how to build a facial recognition web app with React by using the Face Recognition API, as well as the Face Detection model and Predict API. The app built in this article is similar to the face detection box on a pop-up camera in a mobile phone — it’s able to detect a human face in any image fetched from the Internet. Please note that you will need t

ADAdeneye David AbiodunAdeneye David Abiodun·June 11, 2020Frontend
Networking — High Availability Load Balancers with Maglev

High Availability Load Balancers with Maglev

We own and operate physical infrastructure for our backend services. We need an effective way to route arbitrary TCP and UDP traffic between services and also from outside these data centers.

TSTerin StockTerin Stock·June 10, 2020Networking
Engineering — Mirage JS Deep Dive: Understanding Timing, Response And Passthrough (Part 3) — Smashing Magazine

Mirage JS Deep Dive: Understanding Timing, Response And Passthrough (Part 3) — Smashing Magazine

So far, we have seen how we can create records with Mirage, intercept API requests via route handlers and, last but not least, how the shape of the data returned to us from Mirage is affected. In this third part of Mirage JS Deep Dive series, Kelvin Omereshone will be focusing on using `response`, `timing` and `passthrough` in Mirage for a better handle on simulating an actual backend server. Howe

KOKelvin OmereshoneKelvin Omereshone·June 10, 2020Engineering
Design & UX — Is Your Website Stressing Out Visitors? — Smashing Magazine

Is Your Website Stressing Out Visitors? — Smashing Magazine

Stress isn’t just something that makes people feel uncomfortable. It stimulates the urge to “fight” or “flight”. The very last thing you want is to design a website that stresses visitors out, leading them to dread the experience or abandon it entirely. There are many things that might invoke this response from your visitors, including the design. In the following guide, we’re going to look at som

SSSuzanne ScaccaSuzanne Scacca·June 10, 2020Design & UX
Engineering — UtahFS: Encrypted File Storage

UtahFS: Encrypted File Storage

Several months ago, I realized that I had a lot of sensitive files on my computer (my diary, if you must know) that I was afraid of losing, but I didn’t feel comfortable putting them in something like Google Drive or Dropbox. Introducing UtahFS.

BBrendanBrendan·June 9, 2020Engineering
Engineering — From Static Sites To End User Jamstack Apps With FaunaDB — Smashing Magazine

From Static Sites To End User Jamstack Apps With FaunaDB — Smashing Magazine

To make the move from “site” to app, we’ll need to dive into the world of “app-generated” content. In this article, Bryan Robinson will get you started in this world with the power of serverless data. He’ll start with a simple demo by ingesting and posting data to FaunaDB and then extend that functionality in a full-fledged application using Auth0, FaunaDB’s Token system and User-Defined Functions

BRBryan RobinsonBryan Robinson·June 9, 2020Engineering
Career & Teams — 12 Ways To Improve User Interview Questions — Smashing Magazine

12 Ways To Improve User Interview Questions — Smashing Magazine

Right questions don’t simply roll off the tongue, but it’s a handy skill everyone can train. The following pieces of advice will help you to formulate questions that foster reliable answers from your users and clients. Slava Shestopalov will talk about 12 kinds of questions explained with examples. The first part includes six frequent mistakes and how to fix them. The second part presents six ways

SSSlava ShestopalovSlava Shestopalov·June 9, 2020Career & Teams
Performance — Analyzing Notion app performance

Analyzing Notion app performance

Here’s a fantastic case study where Ivan Akulov looks at the rather popular writing app Notion and how the team might improve the performance in a variety of

RRRobin RendleRobin Rendle·June 8, 2020Performance
Frontend — Higher-Order Components In React — Smashing Magazine

Higher-Order Components In React — Smashing Magazine

In this tutorial, Shedrack Akintayo is going to learn about higher-order components, the syntax of higher-order components, as well as use cases for them. In the process, you will build a higher-order component from an existing React component. By the end of this tutorial, you will understand the basics of higher-order components and how to build them.

SAShedrack AkintayoShedrack Akintayo·June 8, 2020Frontend
Networking — Ladies and Gentlemen…Cloudflare TV!

Ladies and Gentlemen…Cloudflare TV!

I'm excited to announce the upcoming launch of Cloudflare TV. A 24x7 live television broadcast, streamed globally via the Cloudflare network. You can tune in to the pre-broadcast station and check out the upcoming schedule at: cloudflare.tv

MPMatthew PrinceMatthew Prince·June 7, 2020Networking
Engineering — How we use HashiCorp Nomad

How we use HashiCorp Nomad

A walkthrough on how we are improving the reliability of our management services running in each data center by using Nomad for dynamic task scheduling.

TThomasThomas·June 5, 2020Engineering
Design & UX — Equivalent Experiences: Thinking Equivalently — Smashing Magazine

Equivalent Experiences: Thinking Equivalently — Smashing Magazine

Constructing an equivalent experience may mean changing the way you think about development and design, and potentially reevaluating your existing work. In this article, Eric Bailey will discuss learning how to embrace an equivalent, inclusive mindset. He will also provide practical, robust ways to improve your websites and web apps by providing solutions to common, everyday barriers cited by the

EBEric BaileyEric Bailey·June 5, 2020Design & UX
Career & Teams — #BlackLivesMatter — Smashing Magazine

#BlackLivesMatter — Smashing Magazine

We stand firmly behind the Black Lives Matter movement. We have always stood strongly behind introducing a wide range of voices to Smashing publications and conferences. Positive change is difficult, but it’s possible. It takes work, time, and dedication. We are fully committed as a team to see it through.

VFVitaly FriedmanVitaly Friedman·June 4, 2020Career & Teams