Techreport blog

Engineering Insights & Guides

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

11,670 articles
SRE & Ops — Changing the Wheels on a Moving Bus — Spotify’s Event Delivery Migration

Changing the Wheels on a Moving Bus — Spotify’s Event Delivery Migration

At Spotify, data rules all. We log a variety of data, from listening history, to results of A/B testing, to page load times so we can analyze and improve the Spotify service. We instrument and log data across every surface that is running Spotify code through a system called the Event Delivery Infrastructure (EDI). Throughout this blog post we make a distinction between the internal users of the E

FSFlavio Santos and Robert Stephenson·October 1, 2021SRE & Ops
Engineering — A Product Story: Three Lessons We Learned from Developing the Mobile App

A Product Story: Three Lessons We Learned from Developing the Mobile App

TL;DR Remember what life was like before smartphones? Remember manually having to sync your computer’s playlists with your iPod every time you added a few songs? One of Spotify’s core products, our mobile app, was designed specifically to leave all of that busywork in the past, changing how we travel with our music forever.

SESpotify Engineering·October 1, 2021Engineering
Networking — Announcing Cloudflare TV as a Service

Announcing Cloudflare TV as a Service

Today we’re excited to announce that we're making the technology we used to build Cloudflare TV available to any other business that wants to run their own 24x7 streaming network.

CCloudflare·September 30, 2021Networking
Distributed — Real-Time Communications at Scale

Real-Time Communications at Scale

We’re making it easier to build and scale real-time communications applications around open technologies, starting with WebRTC Components.

SASilverlock, AchielSilverlock, Achiel·September 30, 2021Distributed
Systems — Creating the Perfect Commit in Git

Creating the Perfect Commit in Git

A commit can be something that helps us stay on top of things. It can be a container for related changes that belong to one and only one topic, and thereby make it easier for us to understand what happened. In this post, we’re talking about what it takes to produce the "perfect" commit.

TGTobias GüntherTobias Günther·September 30, 2021Systems
Frontend — Comparing HTML Preprocessor Features

Comparing HTML Preprocessor Features

Of the languages that browsers speak, I'd wager that the very first one that developers decided needed some additional processing was HTML. Every single CMS

CCChris Coyier·September 30, 2021Frontend
Security — The fugitive in Java: Escaping to Java to escape the Chrome sandbox

The fugitive in Java: Escaping to Java to escape the Chrome sandbox

In this post, I’ll exploit a use-after-free (CVE-2021-30528) in the Chrome browser process that I reported to escape the Chrome sandbox. This is a fairly interesting bug that shows some of the subtleties involved in the interactions between C++ and Java in the Android version of Chrome.

MYMan Yue MoMan Yue Mo·September 30, 2021Security
Networking — Cloudflare for Offices

Cloudflare for Offices

We are extending Cloudflare’s network directly into the most populated office buildings.

JAJames Allworth, AlonJames Allworth, Alon·September 29, 2021Networking
Performance — Dark Mode for the Cloudflare Dashboard

Dark Mode for the Cloudflare Dashboard

Dark mode is now available for the Cloudflare Dashboard in beta! From your user profile, you can configure the Cloudflare Dashboard in light mode, dark mode, or match it to your system settings.

CCloudflare·September 29, 2021Performance
Frontend — Open-sourcing Mariana Trench: Analyzing Android and Java app security in depth

Open-sourcing Mariana Trench: Analyzing Android and Java app security in depth

We’re sharing details about Mariana Trench (MT), a tool we use to spot and prevent security and privacy bugs in Android and Java applications. As part of our effort to help scale security through building automation, we recently open-sourced MT to support security engineers at Facebook and across the industry. This post is the third […]

CWChris Wiltz·September 29, 2021Frontend
Performance — Reusing Code with React Native Packages at Shopify - Shopify

Reusing Code with React Native Packages at Shopify - Shopify

At Shopify, we develop a bunch of different React Native mobile apps: Shop, Inbox, Point of Sale, Shopify Mobile, and Local Delivery. These apps represent different business domains, but they often have shared pieces of functionality like login or foundational blocks they build upon. Wouldn’t it be great to leverage development speed and focus on important product features by reusing code other te

SEShopify Engineering·September 29, 2021Performance
Engineering — Using Modern Image Formats: AVIF And WebP — Smashing Magazine

Using Modern Image Formats: AVIF And WebP — Smashing Magazine

In this article, we’ll highlight how modern image formats (AVIF or WebP) can improve compression by up to 50% and deliver better quality per-byte while still looking visually appealing. We’ll compare what’s possible at high-quality, low-quality and file-size targets.

AOAddy OsmaniAddy Osmani·September 29, 2021Engineering