We build Facebook.
RECENT FACEBOOK POSTSfacebook.com
A main difference between Infer, Facebook's open source static analyzer, and similar tools is the ability to find inter-procedural bugs, or bugs that involve interactions between multiple procedures. Facebook developers have fixed thousands of such bugs, which suggests that static analysis for finding them can have a large impact, even when deployed to large and rapidly changing codebases that consist of millions of lines of code and undergo thousands of modifications per day.
Over the course of 3 days in April 2017 Facebook switched 100 percent of its production web servers to a continuous deployment model. Now we ship 10s to 100s of code changes every few hours, 24/7/365. This model brings more stability to facebook.com and helps engineers iterate on new features more quickly. Read more about the tooling and processes we had to put in place to make the transition successful.
Facebook's global network has tens of thousands of network devices connected to hundreds of thousands of servers. To keep the network operational, our network devices — the connective tissue linking everything together — need to be continuously monitored to detect deviations from their desired state. Today we're open-sourcing FCR, a service that defines a Thrift interface for running commands on network devices. The service is independently scalable and allows people to focus on the business logic.
Traditional routing protocols weren't enough to handle Facebook's complex connectivity options, network preferences, and application-level performance. Learn how our networking team designed Edge Fabric, a system that makes Facebook's edge networking faster, more efficient, and more flexible.
Creating seamless, highly accurate translation experiences for the 2 billion people who use Facebook is difficult. We need to account for context, slang, typos, abbreviations, and intent simultaneously. We achieved this by building and deploying neural networks to power all of our backend translation systems, which account for more than 2,000 translation directions and 4.5 billion translations each day.
Can AI be used as a creative tool in VR film making? That's what the Facebook AI Research team set out to understand when they collaborated with director Jérôme Blanquet on the virtual reality experience, “Alteration.” Read more about the technical and creative challenges behind applying Facebook's AI style transfer technique to 4k, 360 stereoscopic video in a way that matched the director's creative vision.
Games provide a useful environment for artificial intelligence research, helping to build models for AI that can plan, reason, navigate, solve problems, collaborate, and communicate. Today we're announcing ELF: an Extensive, Lightweight, and Flexible platform for game research. ELF allows researchers to test their algorithms in various game environments, speeding up training times by nearly 30 percent. The code is now available on GitHub.
Last year Facebook launched its Rotational Engineering Program, a new initiative to help engineers from diverse backgrounds ramp up their skills through technical training, hands-on experience, and mentorship. In this Q&A, some of the program's first participants discuss how the experience has enabled them to grow their careers as engineers at Facebook.
The New York Times just redesigned their website on top of three Facebook open source tools -- React, Relay, and GraphQL. One of their senior software engineers walks through exactly how they made that change.
Existing chatbots can hold short conversations and perform simple tasks such as booking a restaurant. But building machines that can hold meaningful conversations with people is challenging because it requires a bot to combine its understanding of the conversation with its knowledge of the world, and then produce a new sentence that helps it achieve its goals. Today, researchers at Facebook Artificial Intelligence Research (FAIR) have open-sourced code and published research introducing dialog agents with a new capability — the ability to negotiate.
Jupiter is a high-performance service that matches tests and other automated jobs to the machines that are best equipped to handle them. Jupiter removes the bottleneck effect, cutting down the time a job waits for a machine from minutes to milliseconds, saving hours of engineering time every week.