Open Source

Tutorials and Guides

Hands-on resources demonstrating how Facebook powers community through open source technology. Build a new app, dip your toes in machine learning, and more.

ELI5: Hack - Programming Productivity Without Breaking Things

By Dmitry Vinnik
February 16, 2021

We explain Hack, a programming language focused on productivity and type safety. Hack can stay speedy by incrementally type-checking your files as you edit them.

Tools

  • Hack: Provides engineers with quick feedback loops to develop faster while keeping safety in mind with static typing.

ELI5: Yoga - Cross-Platform Layout Engine

By Dmitry Vinnik
February 01, 2021

We explain Yoga, an open source, cross-platform layout engine. Yoga brings a single standard for all users, allowing developers to focus on other tasks at hand.

Tools

  • Yoga: An open source, cross-platform layout engine that manages user interfaces across platforms by reusing CSS layouts.

ELI5: an Open Source Series

In our series of short videos, our Developer Advocates breakdown Facebook Open Source projects like you’re 5: in a way that is easy to understand and use. Learn about our innovations and kick start your development today.

Watch the series on YouTube

ELI5: Flow - Static Type Checker for JavaScript

By Dmitry Vinnik
December 14, 2020

We explain Flow, a static type checker for JavaScript. Flow checks your program in the background while you concentrate on writing quality code and reports errors back to you.

Tools

  • Flow: A static type checker for your JavaScript code. Flow checks your code for errors through static type annotations. These types allow you to tell Flow how you want your code to work, and Flow will make sure it does work that way.

ELI5: Fresco - Image Management Library for Android

By Dmitry Vinnik
November 16, 2020

In this post, we explain Fresco, a powerful system for displaying images in Android applications. This resources management library ensures that images, animations, and other visual assets can be used on a wide range of devices, even with an unreliable Internet connection.

Tools

  • Fresco: A powerful system for displaying images in Android applications. It takes care of image loading and display so you don't have to.

Build a Discord Bot with Rust and Serenity

By Joe Previte
September 30, 2020

Discord is on the rise in developer communities. This tutorial shows you how to build your own Discord bot using Rust and serenity and how to test it out in your own Discord server.

Tools

  • Rust: A general purpose programming language to build reliable and efficient software
  • serenity: A Rust library for the Discord API

Build a Smart Bookmarking Tool with Rust and Rocket

By Joe Previte
June 3, 2020

Facebook uses an internal smart bookmarking tool to navigate across tools, wikis, knowledge bases, and more. Learn how to build a simple clone of it using Rust and Rocket.

Tools

  • Rust: A general purpose programming language to build reliable and efficient software
  • Rocket: A web framework for Rust

ELI5: Docusaurus - Making Documentation Easy

By Dmitry Vinnik
November 30, 2020

The top open source projects on GitHub have their own documentation sites that contain an overview of the project, short getting started guides, in-depth tutorials and project blogs. These resources are key to the success of any open source project, but building, managing and deploying them can be a lot of work. Unless you're using Docusaurus.

Tools

  • Docusaurus: An open source project for building, deploying and maintaining websites. This project’s main goal is to get you started with your website in a matter of seconds.

PyTorch Tutorials Refresh - Behind the Scenes

By Jessica Lin
October 7, 2020

With every new release version, PyTorch pushes out new features, updates existing ones, and adds documentation and tutorials that cover how to implement these new changes. Check out a behind the scenes look at how the team planned and deployed an overhaul of the PyTorch tutorials portal.

Tools

  • PyTorch: An open source deep learning library

Connecting a web app to your PyTorch model using Amazon SageMaker

By Cami Williams
August 3, 2020

Leverage Amazon SageMaker to deploy a PyTorch neural network with the goal of hooking it up with a REST API to access it via a web application. The final product? An interactive web app that detects digits of pi via drawings.

Tools

  • PyTorch: An open source machine learning framework that accelerates the path from research prototyping to production deployment
  • Amazon Sagemaker: A fully managed service that provides every developer and data scientist with the ability to build, train, and deploy machine learning models quickly

Using Machine Learning with Detectron2

By Cami Williams
April 17, 2020

Machine learning can be daunting subject. However getting an app up and running is more than manageable process. Cami you through the process walks you through how to discover projects that make ML easier and writes a small application utilizing Detectron2.

Tools

  • Detectron2: Facebook AI Research's next generation software system that implements state-of-the-art object detection algorithms