Techreport blog

Engineering Insights & Guides

The best problem-solving writing in software engineering — databases, performance, security, frontend and distributed systems, in one feed.

11,845 articles
Frontend — Graphery SVG

Graphery SVG

I've compared SVG and Canvas before. If you're trying to decide between them, read that. I'd say the #1 difference between them is vector (SVG) versus raster

CCChris Coyier·November 23, 2020Frontend
Frontend — Boop!

Boop!

An in-depth tutorial that teaches how to create one of the most adorable interactions I've ever created. We'll learn how to use React components and hooks to abstract behaviours, and see how to design the perfect API. Even if you're not into animations, I think you'll find it interesting!

JWJosh W. Comeau·November 23, 2020Frontend
Frontend — A Comparison Of async/await Versus then/catch — Smashing Magazine

A Comparison Of async/await Versus then/catch — Smashing Magazine

In JavaScript, there are two main ways to handle asynchronous code: then/catch (ES6) and async/await (ES7). These syntaxes give us the same underlying functionality, but they affect readability and scope in different ways. In this article, Bret Cameron will show you how one syntax lends itself to maintainable code, while the other puts us on the road to callback hell!

BCBret CameronBret Cameron·November 23, 2020Frontend
Career & Teams — What A Time To Be Smashing! — Smashing Magazine

What A Time To Be Smashing! — Smashing Magazine

With so much going on, it’s nice to have an overview of what’s new at Smashing — all in one place. Read on to find out what’s been keeping the team busy alongside some inspiring community resources that have made it to the top list of our newsletters!

ILIris LjesnjaninIris Ljesnjanin·November 20, 2020Career & Teams
Networking — Many services, one cloudflared

Many services, one cloudflared

Previously, if you wanted to proxy 100 services through Argo Tunnel, you needed 100 instances of cloudflared running on your server. Today, we’re thrilled to announce our most-requested feature: you can now expose unlimited services using one cloudflared.

ACAdam ChalmersAdam Chalmers·November 19, 2020Networking
Security — Securing the fight against COVID-19 through open source

Securing the fight against COVID-19 through open source

This blog describes a security vulnerability in the infrastructure that supports Germany’s COVID-19 contact tracing efforts. The mobile (Android/iOS) apps are not affected by the vulnerability and do not collect and/or transmit any personal data other than the device’s IP address. The infrastructure takes active measures to disassociate true positives from client IP addresses.

AMAlvaro MunozAlvaro Munoz·November 19, 2020Security
AI & ML — GitHub Archive Program: Making the archives beautiful

GitHub Archive Program: Making the archives beautiful

The GitHub Archive Program announces its latest milestone: storing collections of the most popular and depended upon open source repositories in beautiful art cases featuring 3D-printed and AI-generated artwork in significant libraries around the world.

JMJulia MetcalfJulia Metcalf·November 19, 2020AI & ML
Networking — The economic impact of subsea cables in Africa

The economic impact of subsea cables in Africa

High-quality internet connectivity gives people a voice, creates opportunities, and strengthens local and global economies. The need for widespread reliable internet connectivity and infrastructure is more apparent now than ever, as heavier reliance on remote work and online communication during the COVID-19 pandemic drives a dramatic surge in global internet usage. And yet, according to […] Read

MEMeta Engineering·November 19, 2020Networking
Distributed — Adopting Sorbet at Scale - Shopify

Adopting Sorbet at Scale - Shopify

Presenting how Shopify got from no Sorbet in our monolith to almost full coverage in the span of a few months. I’ll explain the challenges we faced, the tools we built to solve them.

SEShopify Engineering·November 19, 2020Distributed
SRE & Ops — Migrating Slack Airflow to Python 3 Without Disruption

Migrating Slack Airflow to Python 3 Without Disruption

Last year, we migrated Airflow from 1.8 to 1.10 at Slack (see here) and we did a “Big bang” upgrade because of the constraints we had. This year, due to Python 2 reaching end of life, we again had a major migration of Airflow from Python 2 to 3 and we wanted to put our…

ASAshwin Sai Shankar·November 19, 2020SRE & Ops
Frontend — A Thoughtful Way To Use React’s useRef() Hook — Smashing Magazine

A Thoughtful Way To Use React’s useRef() Hook — Smashing Magazine

In a React component, `useState` and `useReducer` can cause your component to re-render each time there is a call to the update functions. In this article, you will find out how to use the `useRef()` hook to keep track of variables without causing re-renders, and how to enforce the re-rendering of React Components.

AIAleem IsiakaAleem Isiaka·November 19, 2020Frontend