Home/2023
Archive

Year 2023

1,342 articles published in 2023.

Distributed — Hakana: Taking Hack Seriously

Hakana: Taking Hack Seriously

TL; DR: We’re announcing a new open source type checker for Hack, called Hakana. Slack launched in 2014, built with a lot of love and also a lot of PHP code. We started migrating to a different language called Hack in 2016. Hack was created by Facebook after they had struggled to scale their operations…

MBMatt Brown·February 8, 2023Distributed
Engineering — Improving Meta’s global maps

Improving Meta’s global maps

A lot has changed since the initial launch of our basemap in late 2020. We’re Meta now, but our mission remains the same: Giving people the power to build community and bring the world closer together. Across Meta, our family of applications (Facebook, Instagram, WhatsApp, among others) are using our basemap to connect people through […]

CWChris Wiltz·February 7, 2023Engineering
SRE & Ops — The evolution of Facebook’s iOS app architecture

The evolution of Facebook’s iOS app architecture

Facebook for iOS (FBiOS) is the oldest mobile codebase at Meta. Since the app was rewritten in 2012, it has been worked on by thousands of engineers and shipped to billions of users, and it can support hundreds of engineers iterating on it at a time. After years of iteration, the Facebook codebase does not […]

CWChris Wiltz·February 6, 2023SRE & Ops
SRE & Ops — Enabling branch deployments through IssueOps with GitHub Actions

Enabling branch deployments through IssueOps with GitHub Actions

What if developers want to leverage branch deployments but don’t have a full ChatOps stack integrated with their repositories? We wanted to set out to find a way for all developers to be able to take advantage of branch deployments with ease, right from their GitHub repository, and so the branch-deploy Action was born!

GBGrant BirkinbineGrant Birkinbine·February 2, 2023SRE & Ops
Design & UX — UX Podcasts For Designers — Smashing Magazine

UX Podcasts For Designers — Smashing Magazine

Podcasts are a fantastic opportunity to get up close with the people who know their craft. In this post, we compiled podcasts that are bound to provide valuable insights into UX and new perspectives on the field. Perfect for a short coffee break or a long commute.

CMCosima MielkeCosima Mielke·February 2, 2023Design & UX
Engineering — It’s a non-transitive R class world

It’s a non-transitive R class world

After Duplo modularization, we noticed that the task producing a transitive R class was taking a significant amount of time to execute. To eliminate this task altogether, and since the non-transitive R class is advertised to have up to 40% incremental build time improvement, we decided to migrate our codebase to use it. If you’re not…

SCSaif Chaouachi·February 1, 2023Engineering
Engineering — A Multi-Year Challenge: Repairing Deep Linking & Attribution at Spotify

A Multi-Year Challenge: Repairing Deep Linking & Attribution at Spotify

Deep linking and attribution are important functionalities for a growing business. Deep links seamlessly get you to the content you want in the app. Attribution helps us understand which activity (such as marketing or sharing) drives you to that content. At Spotify in 2017, these critical functionalities were in disrepair. But over the course of five years, we’ve endured ups and downs and learned

EDErik Dornbush, Sr. Systems Engineer·February 1, 2023Engineering
AI & ML — Unleashing ML Innovation at Spotify with Ray

Unleashing ML Innovation at Spotify with Ray

As the field of machine learning (ML) continues to evolve and its impact on society and various aspects of our lives grows, it is becoming increasingly important for practitioners and innovators to consider a broader range of perspectives when building ML models and applications. This desire is driving the need for a more flexible and scalable ML infrastructure.

SESpotify Engineering·February 1, 2023AI & ML
SRE & Ops — Incident Report: Spotify Outage on January 14, 2023

Incident Report: Spotify Outage on January 14, 2023

On January 14, between 00:15 UTC and 03:45 UTC, Spotify suffered an outage. The impact was small at first and increased over the course of an hour until most functionality (including playback) was not working. Spotify engineers were first notified of the problem at 00:40 UTC, and our incident response team was immediately assembled. Due to the nature of the incident, triage took longer than one wo

SESpotify Engineering·February 1, 2023SRE & Ops
Security — CVE-2022-47929: traffic control noqueue no problem?

CVE-2022-47929: traffic control noqueue no problem?

In the Linux kernel before 6.1.6, a NULL pointer dereference bug in the traffic control subsystem allows an unprivileged user to trigger a denial of service (system crash) via a crafted traffic control configuration that is set up with "tc qdisc" and "tc class" commands.

FFrederickFrederick·January 31, 2023Security
SRE & Ops — Asynchronous computing at Meta: Overview and learnings

Asynchronous computing at Meta: Overview and learnings

We’ve made architecture changes to Meta’s event driven asynchronous computing platform that have enabled easy integration with multiple event-sources. We’re sharing our learnings from handling various workloads and how to tackle trade offs made with certain design choices in building the platform. Asynchronous computing is a paradigm where the user does not expect a workload […]

CWChris Wiltz·January 31, 2023SRE & Ops
Engineering — Cyberattacks on Holocaust educational websites increased in 2022

Cyberattacks on Holocaust educational websites increased in 2022

Today, 78 years after the liberation of the Auschwitz death camp, we mark the International Holocaust Remembrance Day. With Cloudflare’s Project Galileo, we protect Holocaust educational websites and at risk public interest groups. Read more to see how attacks on these groups increased in 2022.

OOmerOmer·January 27, 2023Engineering
Frontend — AR, VR, and a Model for 3D in HTML

AR, VR, and a Model for 3D in HTML

Tucked down somewhere in the Safari Technology Preview 161 release notes is a seemingly innocous line about support for a new HTML element and attribute:

GGGeoff GrahamGeoff Graham·January 27, 2023Frontend
Security — Bypassing OGNL sandboxes for fun and charities

Bypassing OGNL sandboxes for fun and charities

Object Graph Notation Language (OGNL) is a popular, Java-based, expression language used in popular frameworks and applications, such as Apache Struts and Atlassian Confluence. Learn more about bypassing certain OGNL injection protection mechanisms including those used by Struts and Atlassian Confluence, as well as different approaches to analyzing this form of protection so you can harden similar

AMAlvaro MunozAlvaro Munoz·January 27, 2023Security
Networking — Watch Meta’s engineers discuss optimizing large-scale networks

Watch Meta’s engineers discuss optimizing large-scale networks

Managing network solutions amidst a growing scale inherently brings challenges around performance, deployment, and operational complexities. At Meta, we’ve found that these challenges broadly fall into three themes: 1.) Data center networking: Over the past decade, on the physical front, we have seen a rise in vendor-specific hardware that comes with heterogeneous feature and […]

CWChris Wiltz·January 27, 2023Networking
SRE & Ops — Tulip: Modernizing Meta’s data platform

Tulip: Modernizing Meta’s data platform

The technical journey discusses the motivations, challenges, and technical solutions employed for warehouse schematization, especially a change to the wire serialization format employed in Meta’s data platform for data interchange related to Warehouse Analytics Logging. Here, we discuss the engineering, scaling, and nontechnical challenges of modernizing Meta’s exabyte-scale data platform by migra

CWChris Wiltz·January 26, 2023SRE & Ops