Meta Tech Podcast cover image

Meta Tech Podcast

Latest episodes

undefined
Oct 30, 2023 • 50min

57: Writing and linting Python at scale

Python at Meta is huge. Not only does it famously power Instagram's backend, but it underpins our configuration systems, much of our AI work and many services. Amethyst joins Pascal for this episode of the Meta Tech Podcast to talk about how the Python Foundation Team works to improve the developer experience of everyone working with Python at Meta and Fixit 2, the freshly open-sourced linter framework built on top of libcst. Got feedback? Send it to us on Threads (https://threads.net/@metatechpod), Twitter (https://twitter.com/metatechpod), Instagram (https://instagram.com/metatechpod) and don’t forget to follow our host @passy (https://twitter.com/passy, https://mastodon.social/@passy, and https://threads.net/@passy_). Fancy working with us? Check out https://www.metacareers.com/. Links Fixit 2 announcement post: https://engineering.fb.com/2023/08/07/developer-tools/fixit-2-linter-meta/ Fixit: https://fixit.readthedocs.io µfmt: https://ufmt.omnilib.dev µsort: https://usort.readthedocs.io LibCST: https://libcst.readthedocs.io 5 Things You Didn’t Know About Buck2: https://engineering.fb.com/2023/10/23/developer-tools/5-things-you-didnt-know-about-buck2/ Scheduling Jupyter Notebooks at Meta: https://engineering.fb.com/2023/08/29/security/scheduling-jupyter-notebooks-meta/ Timestamps Intro 0:06 Intro Amethyst 1:57 Production vs Software Engineering 3:41 PE for language teams 5:40 Python at Meta 6:58 Python3 migration 10:15 Projects on the Python Foundation Team 16:30 libcst and codemods 21:55 What Python looks like at Meta 25:53 Meta's involvement in the Python community 30:30 The importance of lints at Meta 35:13 Why another linter? 39:11 Favourite lint 46:26 Outro 48:17 Bloopers 48:54
undefined
Sep 29, 2023 • 31min

56: How Threads was built in 5 months

Learn about the rapid rise of Threads from idea to 100M users in 5 months. Engineers share challenges faced in backend, iOS, and Android development. Insights on building on top of Meta's infrastructure, code sharing, and favorite moments from the journey.
undefined
Aug 30, 2023 • 49min

55: What it's like to ship code at Meta

Two software engineers at Meta, Katherine and Dustin, discuss the challenges and benefits of shipping code at Meta. They cover topics such as monorepos, pre-commit code review, and CI infrastructure. They also talk about the life of a diff, writing bots to write code, finding reviewers, and maintaining stability. The episode provides insights into Meta's code development process and the importance of code review and testing.
undefined
Jul 26, 2023 • 43min

54: Building Key Transparency at WhatsApp

In April, WhatsApp announced the launch of a new cryptographic security feature to automatically verify a secured connection based on key transparency. Key transparency helps strengthen the guarantee that end-to-end encryption provides to private, personal messaging applications in a transparent manner available to all. Rolling out a feature like this to WhatsApp's user base is not a small feat and requires some clever engineering to scale to the billions of users relying on WhatsApp to stay in touch with friends, family and business. Pascal is joined by Sean and Kevin to discuss what Key Transparency means in practice and the various challenges they encountered as they scaled it up to billions of users. Got feedback? Send it to us on Threads (https://threads.net/@metatechpod), Twitter (https://twitter.com/metatechpod), Instagram (https://instagram.com/metatechpod) and don’t forget to follow our host @passy (https://twitter.com/passy, https://mastodon.social/@passy, and https://threads.net/@passy_). Fancy working with us? Check out https://www.metacareers.com/. Links Infer: https://fbinfer.com/ Infer on GitHub: https://github.com/facebook/infer MTP Episode 18 about Infer: https://pca.st/5U9V Deploying key transparency at WhatsApp - Engineering at Meta: https://engineering.fb.com/2023/04/13/security/whatsapp-key-transparency/ GitHub - facebook/akd: An implementation of an auditable key directory: https://github.com/facebook/akd/  Parakeet: Practical Key Transparency for End-to-End Encrypted Messaging: https://www.ndss-symposium.org/ndss-paper/parakeet-practical-key-transparency-for-end-to-end-encrypted-messaging/  SEEMless: Secure End-to-End Encrypted Messaging with less trust: https://eprint.iacr.org/2018/607 Coniks: Bringing Key Transparency to End Users: https://www.usenix.org/conference/usenixsecurity15/technical-sessions/presentation/melara  IETF Working Group on Key Transparency: https://datatracker.ietf.org/wg/keytrans/about   Timestamps Intro 0:06 News Update: Infer turns 10 1:34 Interview Intro 4:27 Intro Kevin 4:45 Intro Sean 6:07 WhatsApp's mission 6:47 PETs 7:58 E2E basics 8:59 Key transparency 10:32 Crypto community response 18:20 End-user changes 19:57 Technical challenges and zero-knowledge proofs 23:18 AKD 28:27 Internal deployment 32:02 Outro 42:16 Bloopers 43:05
undefined
Jun 29, 2023 • 42min

53: Offensive security at Meta’s Red Team X

Red Team X is a security team at Meta that is responsible for finding and exploiting vulnerabilities in third-party products that could impact Meta's own security. The team acts as a hybrid between a traditional red team, which focuses on probing their own organisation's systems and products for vulnerabilities, and an elite bug-hunting group. The team was founded by Vlad I. in 2020 when the pandemic and the sudden shift to Work From Home challenged various previously-held assumptions about security. In his discussion with Pascal, Vlad explains the roles of different security teams within Meta, how they go about prioritising the highest-impact targets to exploit and how they work with vendors to ensure not just Meta but the entire world benefits from the fixes produced. Got feedback? Send it to us on Twitter (https://twitter.com/metatechpod), Instagram (https://instagram.com/metatechpod) and don’t forget to follow our host @passy (https://twitter.com/passy and https://mastodon.social/@passy). Fancy working with us? Check out https://www.metacareers.com/.   Links: The Diff episode about Velox: https://thediffpodcast.com/docs/episode-17 Risky Business Podcast: https://risky.biz/ RTX Blog: https://rtx.meta.security RTX Disclosures: https://rtx.meta.security/bugs RTX in WIRED: https://www.wired.com/story/facebook-red-team-x-vulnerabilities/   Timestamps: Intro 0:06 Vlad Intro 1:55 Red Teaming 2:43 Staying up-to-date 6:34 Different team colours 10:02 Defence-in-depth 12:44 Red Team X 15:57 Hardware v Software 19:43 Focus areas 21:29 Prioritising requests 22:44 Notable RTX Disclosures 26:05 Vulnerability disclosure policy 28:52 Getting into offensive security 38:48 Outro 40:51  
undefined
Jun 2, 2023 • 33min

52: The success story behind PyTorch

PyTorch is now one of the most popular machine learning frameworks out there but that was not a foregone conclusion when it was released in 2016. Our host Pascal is joined by Suraj, a developer advocate here at Meta, to dissect the history of PyTorch and look at the factors that contributed to its success. That includes understanding your target audience, maintaining backwards compatibility, fostering a helpful community and so much more.  You don't need to be an expert in PyTorch to enjoy the discussion as Suraj explains all the basics. Got feedback? Send it to us on Twitter (https://twitter.com/metatechpod), Instagram (https://instagram.com/metatechpod) and don’t forget to follow our host @passy (https://twitter.com/passy and https://mastodon.social/@passy). Fancy working with us? Check out https://www.metacareers.com/.   Links: Meta Open Source Blog: Creating Safe Spaces for Underrepresented Individuals in Open Source Communities - https://developers.facebook.com/blog/post/2023/05/31/creating-safe-spaces/  PyTorch Developer Podcast - https://pytorch-dev-podcast.simplecast.com/ PyTorch - https://pytorch.org/  PyTorch on GitHub - https://github.com/pytorch/pytorch Announcing the PyTorch Foundation: A new era for the cutting-edge AI framework - https://ai.facebook.com/blog/pytorch-foundation/   Timestamps: Intro 0:05 Suraj Intro 1:52 What is PyTorch? 4:39 History of PyTorch 5:33 Choosing a Target Audience 7:27 Python and Performance 11:20 Design Decisions 19:04 OSS Governance and Community 21:11 PyTorch 2.0 25:47 How to get started 28:32 Outro 30:14 Bloopers 32:16
undefined
Apr 6, 2023 • 33min

51: Buck2 - a large-scale build system

For episode 51, Pascal speaks with Neil and Marie, two of the engineers behind Buck2, our open source, large scale build system. Thousands of developers at Meta are already using Buck2 and performing millions of builds per day that on average complete in half the time of Buck1 builds. Marie and Neil discuss the design choices that make Buck2 so much faster and the various challenges they faced in engineering and open sourcing the build system. Got feedback? Send it to us on Twitter (https://twitter.com/metatechpod), Instagram (https://instagram.com/metatechpod) and don’t forget to follow our host @passy (https://twitter.com/passy and https://mastodon.social/@passy). Fancy working with us? Check out https://www.metacareers.com/. Links Announcement blog post: https://engineering.fb.com/2023/04/06/open-source/buck2-open-source-large-scale-build-system/ Buck2: https://buck2.build/ Buck2 on GitHub: https://github.com/facebook/buck2 Build Systems à la Carte - https://www.microsoft.com/en-us/research/uploads/prod/2018/03/build-systems.pdf  Lexical YouTube clip: https://www.youtube.com/watch?v=Vpv0BYhhlak Lexical for iOS: https://github.com/facebook/lexical-ios Timestamps Intro 0:06 Intro Marie 1:30 Intro Neil 2:57 Why a custom build tool? 4:21 Rewriting Buck 6:49 Buck2 vs Bazel 8:49 Building language support 12:06 Buck2 as a developer 13:15 Upgrade from Buck1 to Buck2 15:05 How is Buck2 faster? 16:31 Rust and Profiling 18:44 From Python to Starlark 25:54 Open-Sourcing 28:18 Outro 32:15  
undefined
Mar 21, 2023 • 35min

50: De-identified authentication at scale

If you hear privacy and your first thought is laborious processes and access management, this interview may be just as mind-expanding for you as it was for our host Pascal. He is joined by Alex and Haozhi who talk about the Anonymous Credential Service (ACS), a highly available multitenant service that allows clients to authenticate in a de-identified manner. They discuss the cryptographic primitives powering the service and the various challenges they encountered scaling it to support Meta's products. Got feedback? Send it to us on Twitter (https://twitter.com/metatechpod), Instagram (https://instagram.com/metatechpod) and don’t forget to follow our host @passy (https://twitter.com/passy and https://mastodon.social/@passy). Fancy working with us? Check out https://www.metacareers.com/. Links How Meta enables de-identified authentication at scale - https://engineering.fb.com/2022/03/30/security/de-identified-authentication-at-scale/ Open-sourcing Anonymous Credential Service - https://engineering.fb.com/2022/12/12/security/anonymous-credential-service-acs-open-source/ ACS on GitHub - https://github.com/facebookresearch/acs ReactJS - The Documentary - https://www.youtube.com/watch?v=8pDqJVdNa44 Timestamps Intro 0:12 Alex and Haozhi Intro 1:22 Cryptography and Privacy 2:47 Team Mission 3:35 Data Minimisation 4:28 PETs 5:13 Why authenticate? 8:39 ACS under the hood 10:06 ACS Architecture 16:02 Challenges 21:03 ACS in Open Source 26:36 Key-Derivation Functions 29:22 How to get started 32:10 Outro 33:47 Bloopers 34:29
undefined
Feb 27, 2023 • 34min

49: Kotlin DevX at Instagram

Lisa works on the Dev Craft team at Instagram that embarked on a journey to bring Kotlin to the Instagram for Android code base a little over three years ago. Now, nearly half of the large codebase is migrated and over 80% of newly committed code is in Kotlin. Tune in to hear what the unique challenges of bringing a new language to an existing app are and what it means for build speed, IDE experiences and developer happiness. Got feedback? Send it to us on Twitter (https://twitter.com/metatechpod), Instagram (https://instagram.com/metatechpod) and don’t forget to follow our host @passy (https://twitter.com/passy and https://mastodon.social/@passy). Fancy working with us? Check out https://www.metacareers.com/. Links Meta Engineering Blog: How Meta brought AV1 to Reels - https://engineering.fb.com/2023/02/21/video-engineering/av1-codec-facebook-instagram-reels/  Source-only ABIs for Java - https://engineering.fb.com/2017/11/09/android/rethinking-android-app-compilation-with-buck/ Timestamps Intro 0:06 Intro Lisa 1:27 Dev Craft at Instagram 3:03 Building DevX Partnerships 3:56 The History of Kotlin at Instagram 6:22 Declarative UI 18:29 Build Speed Challenges 20:25 Source-Only ABIs 23:19 IDE Performance 26:19 Kotlin at IG in 2023 27:15 Outro 32:02 Bloopers 33:07
undefined
Jan 25, 2023 • 37min

48: A 94% reduction for basic video compute time on Instagram

Ryan and his team found a quick way of reducing the compute resources spent on encoding videos for Instagram by 94%, but that was actually the easy part. Tune in to learn what the fix was and how you roll out changes that can affect the user experience of billions of users. Got feedback? Send it to us on Twitter (https://twitter.com/metatechpod), Instagram (https://instagram.com/metatechpod) and don’t forget to follow our host @passy (https://twitter.com/passy and https://mastodon.social/@passy). Fancy working with us? Check out https://www.metacareers.com/. Links: Reducing Instagram’s basic video compute time by 94 percent - Meta Engineering Blog: https://engineering.fb.com/2022/11/04/video-engineering/instagram-video-processing-encoding-reduction/  The Diff: https://thediffpodcast.com/ Unix Signals in Production - Dangers and Pitfalls: https://developers.facebook.com/blog/post/2022/09/27/signals-in-prod-dangers-and-pitfalls/ Introducing Velox: An open source unified execution engine - https://engineering.fb.com/2022/08/31/open-source/velox/ Timestamps: Intro 0:06 Intro Ryan 1:40 Transcoding Video at Instagram 2:52 Codecs and Tradeoffs 5:33 Client Support 7:13 Where did the compute go? 9:15 ABR 10:59 Progressive/Non-ABR Encodings 12:31 Saving Encoding Time 13:10 Testing the Changes 17:39 Results 26:43 Popularity Predictions 28:32 Outro 36:31

The AI-powered Podcast Player

Save insights by tapping your headphones, chat with episodes, discover the best highlights - and more!
App store bannerPlay store banner
Get the app