Engineering at Meta Icon

Engineering at Meta

Insights from the Meta engineering blog.
engineering.fb.com • 7 Stories
All Sources

Engineering at Meta Icon Engineering at Meta

Meta is transferring Jest to the OpenJS Foundation

Good for them (and us)! But what does that mean in practice?

Over the next few months, we’ll be completing the OpenJS Foundation’s incubation program checklist, including transferring the Jest domain, repo, website, and other assets to OpenJS. We’ll also be updating the code of conduct and contributor license agreement.

Additionally, as part of this move, we will be publishing a project charter and creating new governance policies that will document the process for gaining commit access, as well as our leadership selection process.

Next up: React?! A guy can dream…

Engineering at Meta Icon Engineering at Meta

Lexical – an extensible web text editor framework

Lexical is an extensible JavaScript web text-editor framework with an emphasis on reliability, accessibility and performance. Lexical aims to provide a best-in-class developer experience, so you can easily prototype and build features with confidence. Combined with a highly extensible architecture, Lexical allows developers to create unique text editing experiences that scale in size and functionality.

It has solid React integration because Facebook, but Lexical has no dependencies and can be used and extended independent of any library or framework.

Engineering at Meta Icon Engineering at Meta

A data augmentations library for audio, image, text, and video

AugLy is a great library to utilize for augmenting your data in model training, or to evaluate the robustness gaps of your model! We designed AugLy to include many specific data augmentations that users perform in real life on internet platforms like Facebook’s – for example making an image into a meme, overlaying text/emojis on images/videos, reposting a screenshot from social media. While AugLy contains more generic data augmentations as well, it will be particularly useful to you if you’re working on a problem like copy detection, hate speech detection, or copyright infringement where these “internet user” types of data augmentations are prelevant.

A data augmentations library for audio, image, text, and video

Engineering at Meta Icon Engineering at Meta

Using AI for music source separation

What exactly is ‘music source separation’?

If you have ever stumbled across those online videos of Freddie Mercury singing what sounds like an a cappella rendition of “Another One Bites the Dust” or a version of Alanis Morissette’s “You Oughta Know” featuring only Flea’s distinctive slapped bass, then you’re already familiar with the concept of music source separation.

Facebook’s research team has figured out a way to do that “with an uncanny level of accuracy”. The technique is called “Demucs” (a portmanteau from “deep extractor for music sources”) and it’s out-performing other methods (spectogram analysis being the primary) by quite a bit. Code here.

Using AI for music source separation

Engineering at Meta Icon Engineering at Meta

Rome is an experimental JavaScript toolchain

It includes a compiler, linter, formatter, bundler, testing framework and more. It aims to be a comprehensive tool for anything related to the processing of JavaScript source code.

Rome aims to be a replacement for many existing JavaScript tools. We will, however, offer integrations for components in other tools. For example, using the Rome compiler as a plugin for another bundler.

This comes out of Facebook’s React Native team. It’s MIT licensed and was started by Sebastian McKenzie, who also authored Babel and Yarn.

Engineering at Meta Icon Engineering at Meta

Facebook has a tool that learns to fix bugs automatically?!

This week on the Facebook code blog they shared details about a new tool called Getafix that automatically finds fixes for bugs and offers them to engineers to approve. 😎

Modern production codebases are extremely complex and are updated constantly. To create a system that can automatically find fixes for bugs — without help from engineers — we built Getafix to learn from engineers’ previous changes to the codebase. It finds hidden patterns and uses them to identify the most likely remediations for new bugs.

Getafix has been deployed to production at Facebook, where it now contributes to the stability of apps that billions of people use.

The goal of Getafix is to let computers take care of the routine work, albeit under the watchful eye of a human, who must decide when a bug requires a complex, nonroutine remediation.

Whether or not this tool will be open sourced or shared at large remains to be seen. How cool would it be to have something like this deployed to your codebase to find and suggest fixes to your bugs?

Facebook has a tool that learns to fix bugs automatically?!
0:00 / 0:00