Connect with us

FACEBOOK

Meet the Rustaceans : Brendon Daugherty

Published

on

This article was written in collaboration with Brendon Daugherty, a Production Engineer at Facebook.

For today’s interview, we have Brendon Daugherty who is a Production Engineer on the IaaS (Infrastructure as a Service) Resources team at Facebook. The IaaS team works on building tools and systems to better manage Facebook’s infrastructure at scale. While working on this team, Brendon has been using Rust as one of the main languages for development. He primarily works on distributed systems, services and cron jobs. Let’s hear from him about how his experience with Rust has been and learn more about his work.


In what capacity have you been using Rust?

Our team primarily writes Rust. Almost all of the code I’ve written at Facebook has been in Rust, which includes lots of Command Line Tools, some distributed systems and a few cron jobs.

Why did your team at Facebook choose to use Rust over other languages?

My team has mostly transitioned from Python to Rust, for a few key reasons:

  • Performance, especially with CLI tools.
  • Compile time guarantees. Rustc is amazing!
  • Good Async Await support
  • Memory safety

What are some of the projects that you’ve worked on at Facebook that use Rust?

Almost every project I’ve worked on at Facebook has been in Rust:

  • My team owns two large distributed systems that manage the server provisioning process and the accounting systems we use for managing the fleet which are both fully written in Rust.
  • We own a few smaller cron jobs that are fully written in Rust, and take advantage of our custom cron framework.
  • We have a Python-Rust service that helps us acquire and provision hardware for different experiments.
  • We recently converted our service that helps determine how much buffer we should be provisioning with different machines from being a Python-Rust service to being fully written in Rust.
See also  Facebook Expands 'Rise' Ad Agency Skills Training Program to More Regions

How do you feel about Rust’s growth trajectory at Facebook?

I feel pretty good about it. More and more services are being written in Rust, and more tools are adding Rust support. We are lucky to have a budding community of Rust developers here at Facebook and a strong Rust foundation team, who are helpful with code reviews, as well as with learning Rust.

What value does Facebook add to Rust?

I think Facebook is doing some great work when it comes to interoperability with C++. CXX is amazing, and has made it a lot easier for me to use Rust, as integrating with existing C++ libraries both inside and outside of Facebook is a breeze.

Advertisement
free widgets for website

How do you think Rust is growing as a language in 2021?

I think Rust is growing the most in its community. With big improvements to lifetimes and the compiler, Rust is becoming more and more accessible. Because of that, many more people are starting to see just how much easier programming can be when you have Rustc as a co-pilot. With this, people are building better tooling, and the environment just keeps getting better.

Some people who have used Rust have come to really like it. Why do you think that is and what is your favorite feature about Rust?

My favorite feature of Rust is Rustc. Coming into Rust when I started here at Facebook, I’d written a lot of C++. I originally worried that I’d need to learn an entirely new language, but what I didn’t realize was that despite 4 years of using C++ in school, I was actually more prepared to write Rust than C++. To write C++ you have to be extremely careful. I wasn’t quite prepared to scrutinize my team’s code, watching for dangling pointers, and undefined behavior.

See also  Congress targets tech giants Apple, Google, Amazon, and Facebook in new series of antitrust laws

Now that I use Rustc though, not only have I written a lot of code that I know is safe, but I also have become a better programmer. Going back and forth with Rustc has taught me to be mindful of how data is moving throughout my program, and when I review or write Python code, I’m much more careful since I don’t have Rustc with me at the wheel.

Where can people learn more about Rust and how can they start contributing to it?

The Book-Rust Programming Language is definitely the place to start. Give it a read through, and then start your own project. There’s also a pretty great Rust Programming Language community on Discord that I would recommend joining where you can ask questions and even find a good project to contribute to.


We would like to thank Brendon, for taking the time to do this interview. It was very interesting to learn how Rust is being used as a primary language for building tools and systems and how we are learning from all the things we build here and contributing back to the Rust community. We hope you found this interview useful and it gave you some insight into how and where Rust is being used at Facebook.

Advertisement
free widgets for website

Check out our previous blogs from the Meet the Rustaceans series:
Meet the Rustaceans: Chris Konstad
Meet the Rustaceans: Pedro Rittner
Meet the Rustaceans: Neil Mitchell
Meet the Rustaceans: Daniel Xu
Meet the Rustaceans: Eric Kuecks
Meet the Rustaceans: Gus Wynn

About the Meet the Rustaceans series

Rust has consistently been ranked as the “most loved” language for the last 5 years and we at Facebook believe that Rust is an outstanding language that shines in critical issues such as memory safety, performance and reliability and is being used widely over a large range of projects here. We joined the Rust Foundation to help contribute towards the improvement and growth of Rust, which not only strengthens our commitment towards the Rust language but also towards a sustainable development of open source technologies and developer communities across the world.

See also  Facebook will start downranking Groups posts for rulebreakers

This blog is a part of our Meet the Rustaceans series, where we invite the engineers and developers who use Rust on a regular basis to share their experiences and tell us about the amazing products that they are building using Rust here at Facebook. Look out for more interview blogs where we meet with many more engineers and hear their thoughts on this topic.

To learn more about Facebook Open Source, visit our open source site, subscribe to our YouTube channel, or follow us on Twitter and Facebook.

Interested in working in Production Engineering at Facebook? Check out our job postings on our Production Engineering career page here.

Advertisement
free widgets for website

Facebook Developers

Continue Reading
Advertisement free widgets for website

FACEBOOK

Updating Special Ad Audiences for housing, employment, and credit advertisers

Published

on

By

updating-special-ad-audiences-for-housing,-employment,-and-credit-advertisers

On June 21, 2022 we announced an important settlement with the US Department of Housing and Urban Development (HUD) that will change the way we deliver housing ads to people residing in the US. Specifically, we are building into our ads system a method designed to make sure the audience that ends up seeing a housing ad more closely reflects the eligible targeted audience for that ad.

As part of this agreement, we will also be sunsetting Special Ad Audiences, a tool that lets advertisers expand their audiences for ad sets related to housing. We are choosing to sunset this for employment and credit ads as well. In 2019, in addition to eliminating certain targeting options for housing, employment and credit ads, we introduced Special Ad Audiences as an alternative to Lookalike Audiences. But the field of fairness in machine learning is a dynamic and evolving one, and Special Ad Audiences was an early way to address concerns. Now, our focus will move to new approaches to improve fairness, including the method previously announced.

What’s happening: We’re removing the ability to create Special Ad Audiences via Ads Manager beginning on August 25, 2022.

Beginning October 12th, 2022, we will pause any remaining ad sets that contain Special Ad Audiences. These ad sets may be restarted once advertisers have removed any and all Special Ad Audiences from those ad sets. We are providing a two month window between preventing new Special Ad Audiences and pausing existing Special Ad Audiences to enable advertisers the time to adjust budgets and strategies as needed.

See also  Customer Care and Why It Matters for Messenger

For more details, please visit our Newsroom post.

Advertisement
free widgets for website

Impact to Advertisers using Marketing API on September 13, 2022

For advertisers and partners using the API listed below, the blocking of new Special Ad Audience creation will present a breaking change on all versions. Beginning August 15, 2022, developers can start to implement the code changes, and will have until September 13, 2022, when the non-versioning change occurs and prior values are deprecated. Refer below to the list of impacted endpoints related to this deprecation:

For reading audience:

  • endpoint gr:get:AdAccount/customaudiences
  • field operation_status

For adset creation:

  • endpoint gr:post:AdAccount/adsets
  • field subtype

For adset editing:

  • endpoint gr:post:AdCampaign
  • field subtype

For custom audience creation:

  • endpoint gr:post:AdAccount/customaudiences
  • field subtype

For custom audience editing:

  • endpoint gr:post:CustomAudience

Please refer to the developer documentation for further details to support code implementation.

First seen at developers.facebook.com

Advertisement
free widgets for website
Continue Reading

FACEBOOK

Introducing an Update to the Data Protection Assessment

Published

on

By

introducing-an-update-to-the-data-protection-assessment

Over the coming year, some apps with access to certain types of user data on our platforms will be required to complete the annual Data Protection Assessment. We have made a number of improvements to this process since our launch last year, when we introduced our first iteration of the assessment.

The updated Data Protection Assessment will include a new developer experience that is enhanced through streamlined communications, direct support, and clear status updates. Today, we’re sharing what you can expect from these new updates and how you can best prepare for completing this important privacy requirement if your app is within scope.

If your app is in scope for the Data Protection Assessment, and you’re an app admin, you’ll receive an email and a message in your app’s Alert Inbox when it’s time to complete the annual assessment. You and your team of experts will then have 60 calendar days to complete the assessment. We’ve built a new platform that enhances the user experience of completing the Data Protection Assessment. These updates to the platform are based on learnings over the past year from our partnership with the developer community. When completing the assessment, you can expect:

  • Streamlined communication: All communications and required actions will be through the My Apps page. You’ll be notified of pending communications requiring your response via your Alerts Inbox, email, and notifications in the My Apps page.

    Note: Other programs may still communicate with you through the App Contact Email.

  • Available support: Ability to engage with Meta teams via the Support tool to seek clarification on the questions within the Data Protection Assessment prior to submission and help with any requests for more info, or to resolve violations.

    Note: To access this feature, you will need to add the app and app admins to your Business Manager. Please refer to those links for step-by-step guides.

  • Clear status updates: Easy to understand status and timeline indicators throughout the process in the App Dashboard, App Settings, and My Apps page.
  • Straightforward reviewer follow-ups: Streamlined experience for any follow-ups from our reviewers, all via developers.facebook.com.

We’ve included a brief video that provides a walkthrough of the experience you’ll have with the Data Protection Assessment:

Something Went Wrong

Advertisement
free widgets for website

We’re having trouble playing this video.

The Data Protection Assessment elevates the importance of data security and helps gain the trust of the billions of people who use our products and services around the world. That’s why we are committed to providing a seamless experience for our partners as you complete this important privacy requirement.

Here is what you can do now to prepare for the assessment:

  1. Make sure you are reachable: Update your developer or business account contact email and notification settings.
  2. Review the questions in the Data Protection Assessment and engage with your teams on how best to answer these questions. You may have to enlist the help of your legal and information security points of contact to answer some parts of the assessment.
  3. Review Meta Platform Terms and our Developer Policies.

We know that when people choose to share their data, we’re able to work with the developer community to safely deliver rich and relevant experiences that create value for people and businesses. It’s a privilege we share when people grant us access to their data, and it’s imperative that we protect that data in order to maintain and build upon their trust. This is why the Data Protection Assessment focuses on data use, data sharing and data security.

Data privacy is challenging and complex, and we’re dedicated to continuously improving the processes to safeguard user privacy on our platform. Thank you for partnering with us as we continue to build a safer, more sustainable platform.

First seen at developers.facebook.com

Advertisement
free widgets for website
See also  Congress targets tech giants Apple, Google, Amazon, and Facebook in new series of antitrust laws
Continue Reading

FACEBOOK

Resources for Completing App Store Data Practice Questionnaires for Apps That Include the Facebook or Audience Network SDK

Published

on

By

resources-for-completing-app-store-data-practice-questionnaires-for-apps-that-include-the-facebook-or-audience-network-sdk

Resources for Completing App Store Data Practice Questionnaires for Apps That Include the Facebook or Audience Network SDK

First seen at developers.facebook.com

See also  What Is a Data Center?
Continue Reading

Trending