Category: Facebook

Under the hood: Suicide prevention tools powered by AI

Suicide is the second most common cause of death for people ages 15-29. Research has found that one of the best ways to prevent suicide is for those in distress to hear from people who care about them. Facebook is …

F8 2018 registration now open

Registration is officially open for F8, Facebook’s annual developer conference, held May 1 & 2 in San Jose, CA at the McEnery Convention Center. This year, more than 5,000 members of our global community will gather to experience new, …

How production engineers support global events on Facebook

People around the world come to Facebook to celebrate and share experiences during special events, such as the Olympics or New Year’s Eve. These types of global occurrences can cause spikes in the load and traffic patterns on Facebook’s systems, …

Android @Scale 2018 recap

Last week we hosted the first-ever Android @Scale in New York City, bringing together expert Android developers to discuss the range of technical challenges that comes with serving millions or even billions of people.

More than 250 attendees gathered in …

Improving Android video on News Feed with Litho

As video consumption on mobile devices grows rapidly, Facebook mobile engineers are faced with new challenges for rendering content efficiently. Videos demand more resources than simpler UI elements like text and photos. They use decoders that keep the CPU busy; …

Under the hood: Multilingual embeddings

More than half of the people on Facebook speak a language other than English, and more than 100 languages are used on the platform. This presents us with the challenge of providing everyone a seamless experience in their preferred language, …

Android native library merging

Android developers who use lots of C++ code might be familiar with the native library limit that exists in Android versions prior to 4.3. When targeting older Android versions, one must carefully manage the number of libraries in their app …

2017 Year in review: Software across the stack

This week we’re publishing a series of posts looking back at the technologies and advancements Facebook engineers introduced in 2017. Read our previous posts from this week about data centers, connectivity, and building immersive experiences.

Facebook engineers …

2017 Year in review: Building immersive experiences

This week we’re publishing a series of posts looking back at the technologies and advancements Facebook engineers introduced in 2017. Our previous installments focused on data centers and connectivity.

We know that many people find communities on Facebook based …

2017 Year in review: Better global networks

This week we’re publishing a series of posts looking back at the technologies and advancements Facebook engineers introduced in 2017. Read the first part of the series about data centers here, and check back each day to learn about

2017 Year in review: Data centers

This week we’re publishing a series of posts looking back at the technologies and advancements Facebook engineers introduced in 2017. Come back each day to learn about a different part of the stack.

Data centers are the foundation of our …

ONNX V1 released

This post originally appeared on research.fb.com.

In September, we released an early version of the Open Neural Network Exchange format (ONNX) with a call to the community to join us and help create an open, flexible standard to enable …

Facebook and Airbus Working Together to Advance High Altitude Connectivity

At Facebook, one of the ways we’re helping bring the world closer together is by pioneering new technologies to bring affordable connectivity to more people, faster. This includes our work on the Aquila program, a high altitude platform station (HAPS) …

Open/R: Open routing for modern networks

  • We are open-sourcing Open/R, an extensible network routing platform that enables rapid innovation in network functions and applications.
  • Open/R is being used in Facebook’s backbone and data center networks.
  • The platform supports different network topologies (such as WANs, data center

Rethinking Android app compilation with Buck

Every day Facebook engineers make thousands of code changes and iterate frequently through the edit-compile-run development cycle. Several years ago we built and open-sourced Buck, a build tool designed from the ground up for fast iteration, allowing engineers to …

Aquila: What’s next for high-altitude connectivity?

Approximately 4 billion people worldwide are unconnected, including many who live in regions that lack access to a broadband network. At Facebook, we’re working to change that.

Connecting these often rural regions with existing, conventional technologies such as optical …

Open-sourcing Sections: Declarative data handling for Litho lists

Earlier this year we open-sourced Litho, a declarative Android framework for efficient UI rendering. Litho delivers best-in-class UI performance through a simple, declarative API.

Litho is primarily a rendering API that uses Components for displaying pieces of a UI …

Open-sourcing RacerD: Fast static race detection at scale

Concurrent programming is hard. It is difficult for humans to think about the vast number of potential interactions between processes, and this makes concurrent programs hard to get right in the first place. Further, concurrency errors are difficult to debug …

Mobile @Scale 2017 recap

Last week we capped off another year of @Scale events with Mobile@Scale 2017 in Boston. @Scale is an invitation-only technical conference focused on bringing people together to openly discuss the challenges of building software that serve millions or even billions …

Multithreaded rendering on Android with Litho and Infer

The types of content people share on News Feed have evolved from text, to photo, to video, to rich immersive experiences like 360 and Live. As these experiences become more sophisticated, it gets more challenging to render items on screen …

React 16: A look inside an API-compatible rewrite of our frontend UI library

React makes it simple to build functional, component-based user interfaces on web and mobile; at Facebook, we have more than 30,000 React components in our main web repo alone. React’s simplicity and functionality has led to its adoption by hundreds …

Relicensing the GraphQL specification

Today we’re relicensing the GraphQL specification under the Open Web Foundation Agreement (OWFa) v1.0. We think the OWFa is a great fit for GraphQL because it’s designed for collaborative open standards and supported by other well-known companies. The OWFa …

Migrating a database from InnoDB to MyRocks

Last year, we introduced MyRocks, our new MySQL database engine, with the goal of improving space and write efficiency beyond what was possible with compressed InnoDB. Our objective was to migrate one of our main databases (UDB) from compressed …

Relicensing React, Jest, Flow, and Immutable.js

Next week, we are going to relicense our open source projects React, Jest, Flow, and Immutable.js under the MIT license. We’re relicensing these projects because React is the foundation of a broad ecosystem of open source software for the web, …

SLAM: Bringing art to life through technology

“To many, technology seems unapproachable. But through art, technology becomes more human and even an artistic medium in its own right.”

These are the words San Francisco artist Heather Day wrote in a proposal letter to Facebook, where she hoped …

Announcing Yarn 1.0

Today, we are excited to announce the 1.0 release of the Yarn JavaScript package manager, a major step for the project. In the 11 months since its initial release, Yarn has generated a large following. Currently, there are more than …

Finding inter-procedural bugs at scale with Infer static analyzer

The capabilities of static analyzers, which catch bugs before programs are run, are steadily improving. During our work on the Infer static analyzer, we often were asked about the differences between Infer and other open source analysis tools like …

Rapid release at massive scale

Over time, the software industry has come up with several ways to deliver code faster, safer, and with better quality. Many of these efforts center on ideas such as continuous integration, continuous delivery, agile development, DevOps, and test-driven development. All …

Optimizing 360 photos at scale

People have uploaded more than 70 million 360 photos to Facebook since we launched the feature last year. Facebook enables multiple methods for capturing 360 photos and videos, which allow people to share immersive experiences with their communities. If you …

LogDevice: a distributed data store for logs

A log is the simplest way to record an ordered sequence of immutable records and store them reliably. Build a data intensive distributed service and chances are you will need a log or two somewhere. At Facebook, we build a …

FCR: Open source command runner for network devices

As Facebook continues to grow, we are constantly looking for ways to improve our operations and drive greater efficiency. Operating at a global scale poses unique technical challenges, particularly in the network environment, where large amounts of data are always …

Steering oceans of content to the world

A version of this post was originally published at research.fb.com.

The Facebook network is an integral part of Facebook’s infrastructure. Every day, people and communities rely on Facebook’s global network and infrastructure to share information, ranging from photos and …

Explaining React’s license

A few weeks ago, the Apache Software Foundation (the ASF) made a decision to list the BSD + Patents license as a Category-X license. This move affects users of much of Facebook’s open source software, but especially the popular …

@Scale 2017 agenda is live!

The 2017 @Scale Conference is coming up August 31 at the San Jose Convention Center. This year’s event will feature tech talks by representatives of leading companies building technology at scale. Adobe, Amazon, Facebook, Google, Microsoft, Netflix, NVIDIA, Okta, Qualcomm,

Transitioning entirely to neural machine translation

Language translation is one of the ways we can give people the power to build community and bring the world closer together. It can help people connect with family members who live overseas, or better understand the perspective of someone …

Using AI for new visual storytelling techniques in VR

Artificial intelligence is becoming an increasingly important tool within the artistic community to foster visual creativity. Two frequently used techniques are generative adversarial networks (GANs), which can generate visually realistic images, and style transfer, which can turn photos or …

Building open source tools for Adobe Creative Cloud updates

Many IT shops focus on delivering prepackaged, vendor-based software to employees. As companies begin to offer services to millions or even billions of people, their internal systems, technical environments, and licensing strategies must evolve to give teams the flexibility and …

Introducing ELF: An extensive, lightweight and flexible platform for game research

Games provide a useful environment for artificial intelligence research. Within a game environment, the amount of labeled training data available for training AI models is nearly infinite, low-cost, replicable, and more easily obtained at a much higher rate than in …

Accelerating growth through Facebook’s Rotational Engineering Program

One of the core tenets we value at Facebook is diversity of thought. We know that teams with people who bring a diverse set of experiences, backgrounds, identities, and perspectives build better products. As we grow as a company, we’re …

Aquila’s successful second flight: Another step forward in bringing the world closer together

Just after dawn on May 22, Facebook reached another exciting and important milestone for the Aquila program — completing the successful second full-scale test flight of the aircraft. The aircraft flew for 1 hour and 46 minutes, and landed perfectly …

Join us for @Scale 2017!

The 2017 @Scale Conference will take place on August 31 at the San Jose Convention Center. This year’s invite-only event will feature tech talks from leading companies building technology at scale — sharing innovative and scalable approaches to data management, …

Data @Scale 2017 Recap

On Thursday June 8th, we welcomed 350 engineers to Seattle for the 3rd consecutive year of Data @Scale.

In addition to focusing on the challenges of building services and solutions for large-scale storage systems and analytics, this year’s speakers from …

Deal or no deal? Training AI bots to negotiate

From the moment we wake up, our days are filled with a constant flow of negotiations. These scenarios range from discussing what TV channel to watch to convincing your kids to eat their vegetables or trying to get a better …

Accelerating machine learning for computer vision

Scale matters. This is the lens through which engineers from Facebook, Google, LinkedIn, Microsoft, Pinterest, Uber, and Yandex shared presentations about their approach to tackling technical challenges in large-scale storage systems and analytics at today’s Data @Scale conference in Seattle.…

Dev Tools @Scale 2017 Recap

Last month more than 200 software engineers gathered at Studio Spaces in London to attend the first ever Dev Tools @Scale. The event had eight exciting presentations focused on development tools that either work at large scale or enable large …

Managing resources for large-scale testing

As more people across the world connect on Facebook, we want to make sure our apps and services work well in a variety of scenarios. At Facebook’s scale, this means testing hundreds of important interactions across numerous types of devices …

Jupiter: A high-performance job-matching service

As part of the engineering workflow — writing, editing, testing, and shipping code — we rely on backend services and machines to do a variety of jobs, such as building new packages, installing dependencies, and running tests. At Facebook’s scale, …

AL: A new declarative language for detecting bugs with Infer

At Facebook, every change made to our mobile code is checked by our static analyzer Infer. Static code analyzers are tools that scan the source code of a program to detect possible bugs. The main advantage of a static analyzer …

Under the hood: Photo Search

Today, the volume of photos taken by people with smartphone cameras challenges the limits of structured categorization. It is difficult for one person to categorize their own repository of smartphone photos, much less to define a structured taxonomy for everyone’s …