Loading…
BazelCon 2024
Attending this event?
October 14-15, 2024
Mountain View, CA
View More Details & Registration

The Sched app allows you to build your schedule but is separate from your event registration. You must be registered for BazelCon 2024 to participate in the sessions. If you have not registered but would like to join us, please go to the event registration page to registration.

This schedule is automatically displayed in Pacific Daylight Time (PDT) | UTC -7. To see the schedule in your preferred timezone, please select from the drop-down located at the bottom of the menu to the right.

IMPORTANT NOTE: Timing of sessions and room locations are subject to change.
Intermediate clear filter
Monday, October 14
 

10:45am PDT

Simplicity Steering Group - Farid Zakaria, Confluent
Monday October 14, 2024 10:45am - 11:45am PDT
Bazel is a great tool and has inspired dozens of imitators. It's success and desire to fulfill the need of many requirements (arch, platform, OS etc..) has resulted in a Bazel much more complicated than the original incarnation when the principles were simpler and needed everything to be vendored. Proper use of Bazel now almost always requires a hand-tuned .bazelrc file and a dizzying array of external rules. While bzlmod has made figuring out the dependency version management it's continued to feed the growth of complexity. What can we do to make Bazel usable and simple on it's own.
Speakers
avatar for Farid Zakaria

Farid Zakaria

Principal Engineer, Confluent
I am a software engineer, father, and wishful surfer. I currently work at Google and am also pursuing a Ph.D. in computer science at the University of California Santa Cruz. More relevant to Nix, I am a NixOS enthusiast, which has led me to rethink basic Linux primitives.
Monday October 14, 2024 10:45am - 11:45am PDT
Lovelace

11:15am PDT

Lessons from a Large JVM Monorepo - Janusz Kudelka, Airbnb
Monday October 14, 2024 11:15am - 11:45am PDT
Airbnb's JVM monorepo hosts 10s of millions of lines of Java, Kotlin and Scala. Each language posing unique challenges. This talk will show how we solved many of them, examples include: * importance of Remote Persistent Workers for RBE and how to maintain them * supporting cross-platform builds (mac and linux, x86 and arm) with universal binaries allowing cache sharing and dynamic execution across * safe and efficient usage of multiple source and runtime versions: mixed java 8 and 17, gradual runtime migrations, supporting multiple scala versions * our approach to compilation avoidance * straight to bytecode codegen when all other optimizations are not enough * what we tried that didn't work * ... and more
Speakers
avatar for Janusz Kudelka

Janusz Kudelka

Software Engineer, Airbnb
Janusz Kudelka is a Software Engineer with 10+ years of infrastructure experience with the last 5 years on Developer Infrastructure at Airbnb where he tries to make sure the developers are equipped to engineer the best software of their careers.
Monday October 14, 2024 11:15am - 11:45am PDT
Hahn Auditorium

12:00pm PDT

Building 1300 Container Images in 4 Minutes - Sushain Cherivirala, Stripe
Monday October 14, 2024 12:00pm - 12:10pm PDT
Container images are a ubiquitous mechanism for deploying applications in the modern computing landscape. Everything from services deployed on bare-metal Kubernetes to AWS Lambda functions depend on container images. Building these images quickly and efficiently is critical to keeping CI/CD responsive. In recent years, Stripe has undergone dual migrations. One, to a service oriented architecture. Two, to running services inside Kubernetes. Together, these migrations meant our CI pipelines to build containers became slower and more expensive with each passing month. With a build producing over a terabyte of images, Bazel just couldn't build them fast enough! Even disk space was in short supply. Learn how we flipped the script on our container builds by leveraging BwoB (Build without the Bytes). Now, we can build 1300+ container images in just a couple minutes with plenty of headroom for more. Bazel's entire output space fits in RAM and there's never a single byte of container images on disk!
Speakers
avatar for Sushain Cherivirala

Sushain Cherivirala

Staff Software Engineer, Stripe
Sushain is the tech lead for Stripe's Build Infra team. He joined Stripe from Stanford and Carnegie Mellon in 2019 and has been evangelizing Bazel ever since. In addition to writing Stripe's Ruby and JavaScript rulesets, Sushain has migrated millions of lines of Stripe code and hundreds... Read More →
Monday October 14, 2024 12:00pm - 12:10pm PDT
Hahn Auditorium

2:45pm PDT

Pigweed and Bazel for Embedded Development - Ted Pudlik, Google, LLC
Monday October 14, 2024 2:45pm - 3:15pm PDT
Pigweed is an open-source collection of embedded libraries. We aim to make Bazel the best build system for developing microcontroller firmware. In this talk, I'll discuss how Pigweed leverages Bazel's build configuration APIs and platforms to solve common problems in building embedded firmware: building binaries for multiple cores in one Bazel invocation, compiling flasher scripts that embed the firmware, creating libraries with platform-specific implementations, and more!
Speakers
avatar for Ted Pudlik

Ted Pudlik

Staff Software Engineer, Google, LLC
I am a software engineer at Google. I was originally trained as a theoretical physicist, spent a couple years predicting the impact of network maintenance, then three more in the lidar group at Waymo. I currently work on Pigweed, focusing on making Bazel the best build system for... Read More →
Monday October 14, 2024 2:45pm - 3:15pm PDT
Hahn Auditorium

2:45pm PDT

Remote Execution Birds of a Feather - Chi Wang & Tiago Quelhas, Google
Monday October 14, 2024 2:45pm - 3:45pm PDT
We'll give an update on recent developments in the remote caching and execution space and give the community an opportunity to influence the direction of future efforts. Highlights: - Remote Output Service - Garbage collection for disk cache - Compact execution log - Async execution with virtual threads - Async upload enabled by default
Speakers
avatar for Tiago Quelhas

Tiago Quelhas

Software Engineer, Google
Tiago Quelhas is a Software Engineer in the Bazel team at Google. His primary area of focus is remote execution. He has previously worked on the build and serving infrastructure that powers web applications at Google.
avatar for Chi Wang

Chi Wang

Software Engineer, Google
Chi Wang is a Software Engineer in the Bazel team at Google. He works on remote execution for Bazel and the internal equivalent for Blaze. Before joining Google, he spent most of his time designing and implementing distributed computing systems.
Monday October 14, 2024 2:45pm - 3:45pm PDT
Lovelace

4:00pm PDT

Bazel + IDEs BoF - Justin Kaeser & Marcin Abramowicz, JetBrains
Monday October 14, 2024 4:00pm - 5:00pm PDT
As always, we will discuss the state of IDE support in Bazel, the ongoing efforts by JetBrains, Google and others in maintaining the Bazel plugin for IntelliJ. And what better venue to announce the release of our all-new Bazel plugin for IntelliJ!
Speakers
avatar for Marcin Abramowicz

Marcin Abramowicz

IntelliJ Bazel plugin, JetBrains
He is a software engineer at JetBrains, focusing on improving Bazel support in JetBrains products.
avatar for Justin Kaeser

Justin Kaeser

IntelliJ Bazel plugin, JetBrains
Justin believes in "Tools before Rules": automating the development toolchain to remove the friction of dealing with manual processes. He works on this goal as team lead for the Bazel support in IntelliJ IDEA and as customer success engineer at JetBrains.
Monday October 14, 2024 4:00pm - 5:00pm PDT
Lovelace

4:10pm PDT

EngFlow as a Powerful Accelerator for Builds, Tests & Bazel Migrations, and Cloud Cost Reduction - Helen Altshuler, EngFlow Inc.
Monday October 14, 2024 4:10pm - 4:20pm PDT
Learn how to get more value from Bazel for your developer platform with faster migrations and consistently fast builds and tests around the world with cache replication, seamlessly scale remote build execution from 100 to 100,000 cores, get proactive recommendations on further performance improvements, and achieve cloud cost savings from thousands to millions of dollars.
Speakers
avatar for Helen Altshuler

Helen Altshuler

CEO and co-founder, EngFlow
Helen is the CEO and co-founder of EngFlow, a big code developer platform company created by core Bazel engineers and funded by Andreessen Horowitz. She has been a dedicated Bazel community member since 2016, managed enterprise adoption of Bazel at Google and the 1st BazelCon, and... Read More →
Monday October 14, 2024 4:10pm - 4:20pm PDT
Hahn Auditorium

4:30pm PDT

Bazel’s Take on (Cc) Shared Libraries - Aloïs Cochard, Modus Create
Monday October 14, 2024 4:30pm - 4:40pm PDT
It took me a while to understand how cc_shared_library works in Bazel. After fighting the system and having reached every possible error message, I took a deep dive into the underlying logic and discovered how powerful that rule is once you understand its opinionated view on shared libraries and the mindset behind the design of the rule. I was also surprised to discover that it relies on Bazel aspects. To the best of my knowledge it is the only core rule that does so. In this presentation I will convey my insights using diagrams depicting how one should reason about cc_shared_library. This will cover how shared libraries are assembled from cc_libraries, how they interact as dependencies of other cc_* rules, and some interesting aspects of the implementation based on… aspects!
Speakers
AC

Aloïs Cochard

Modus Create
Monday October 14, 2024 4:30pm - 4:40pm PDT
Hahn Auditorium

4:40pm PDT

Consistent Hermetic Tooling with Actually Portable Executables - Matt Clarkson, Arm
Monday October 14, 2024 4:40pm - 4:50pm PDT
Actually Portable Executables (APE) is a format of executable that can be ran on Windows, Linux, MacOS, BSDs operating systems from a single binary. A binary can be "fat" to contain both the x86_64 and aarch64 machine code to enable execution on multple CPUs from the same single binary. The `@ape` Bazel module provides the necessary wrappers and launchers to provide common POSIX tooling across all operating systems and CPUs such as `cp`, `mv`, `sed`, `awk` and `curl`. This talk will provide usage information of the `@ape` tools to enable an ecosystem of hermetic tooling for Bazel rulesets that require zero system setup to be used other than a working Bazel installation.

The talk will be split into a few sections:

- An introduction to the Bazel module, it's usage and benefits
- A high level overview into the APE format, Cosmopolitan C library and superconfigure to provide attendees relevant information to understand what the module is providing
- A brief introduction to the ecosystem of hermetic rulesets that expose rules around the APE hermetic binaries, such as `rules_curl`, `rules_gzip`, etc.
Speakers
avatar for Matt Clarkson

Matt Clarkson

Principal Software Engineer, Arm
Matt is a software engineer that has worked up and down the stack throughout his career. His current focus is to bring the benefits of reproducible, hermetic workflows to embedded devices with Bazel. He has previously worked at small sized agile teams before his current role at A... Read More →
Monday October 14, 2024 4:40pm - 4:50pm PDT
Hahn Auditorium

4:50pm PDT

Building a Hermetic Python Environment with Conda in Bazel - Adam Azarchs, 10X Genomics
Monday October 14, 2024 4:50pm - 5:00pm PDT
Bazel’s rules_python supports using a hermetic python environment at build and test time. However, maintaining sufficient similarity between the environment that unit tests are running in under bazel test and the production environment can be challenging, particularly once things like extension modules with nontrivial native dependencies get involved. The conda ecosystem is primarily for python packages, but also includes packages for nearly all of the native dependencies of those python packages as well. This talk describes the bazel rule-set we use to fetch conda packages and deploy them for use both during the bazel build and test, and in production. These rules allow us to provide our customers with a deployment package which they can simply untar and run on a wide range of linux environments with very limited prerequisites, producing several distinct (but overlapping) environments for different products within our monorepo, at the same time ensuring that our unit tests are running in a nearly identical environment, all while maintaining acceptable build times.
Speakers
avatar for Adam Azarchs

Adam Azarchs

Principal Software Engineer, 10X Genomics
17 years in the software industry, across many different platforms (including 2 years in YouTube, where I learned to use blaze), I now spend most of my time helping computational biologists deliver production-quality software.
Monday October 14, 2024 4:50pm - 5:00pm PDT
Hahn Auditorium

5:00pm PDT

Bazel: {Fast, Correct, Seamless}: Choose 3 - Srini Muthu, LinkedIn
Monday October 14, 2024 5:00pm - 5:10pm PDT
While Bazel excels in speed and accuracy, its integration with native ecosystems, particularly IDE support, has been lacking. Jay Conrod’s 2022 BazelCon talk highlighted how this hinders adoption, echoing our observations at LinkedIn. The model recommended in that talk was to have the language server use a build adapter as a liaison to Bazel to correctly resolve imports. Since then, Bzlmod and Uber’s go_deps module extension have enabled us to treat go.mod as the source of truth for Go dependencies thereby removing the need for lengthy WORKSPACE files and constant updates via gazelle-update-repos. While these significantly moved the needle, they didn’t support multi module workspaces, still relied on the build adapter model for IDE support and had no native CLI support. At LinkedIn, we sought to address these gaps. We added Go workspace support to Gazelle and introduced a setup rule wherein Bazel bootstraps the Go SDK, sets Go env vars such as GOPATH within the Bazel workspace and informs IDEs and shells via settings files and direnv, thus providing a seamless developer experience. This has enabled us to drive developer adoption across a poly repo ecosystem at LinkedIn.
Speakers
avatar for Srini Muthu

Srini Muthu

Srinivas Muthu, LinkedIn
Hi there, I'm Srini. I work with the Build Platforms team at LinkedIn, primarily with ecosystems that are powered by Bazel. Previously I worked at Apple Maps building pipelines for geospatial data crunching. Outside of work I enjoy riding bicycles, climbing rocks and spending time... Read More →
Monday October 14, 2024 5:00pm - 5:10pm PDT
Hahn Auditorium

5:10pm PDT

Optimizing Gazelle for Scale and Performance in Uber's Monorepo - Tyler French, Uber
Monday October 14, 2024 5:10pm - 5:20pm PDT
In a repo with almost a million files, `gazelle` historically scales O(size of repo) for automatic BUILD file generation, since gazelle plugins need to read and evaluate source files across the repo in order to prepare the BUILD files' contents. When the peak runtime of gazelle approached 5-8 minutes, this became unscalable at Uber, with developers being blocked and delayed. Our team was able to improve three key metrics related to Gazelle's speed: - Gazelle p75 on CI from >300s to
Speakers
avatar for Tyler French

Tyler French

Sr. Software Engineer, Uber
Tyler French is a Software Engineer on Uber's Developer Platform team and is based in New York City. Tyler leads the dependency management initiative within the Go developer experience. His interests lie in leveraging data and analyzing patterns to strategically improve the engineering... Read More →
Monday October 14, 2024 5:10pm - 5:20pm PDT
Hahn Auditorium
 
Tuesday, October 15
 

9:30am PDT

Creating C++ Toolchains Easily - Matt Stark & Armando Montanez, Google
Tuesday October 15, 2024 9:30am - 10:00am PDT
Dive into the new mechanism we recently added to rules_cc through which we define C++ toolchains. Our new mechanism to do it is simpler, safer, explicit, and modular, and removes many of the confusing concepts such as compile_files.
Speakers
avatar for Matt Stark

Matt Stark

Software Engineer, Google
* Been using blaze for the past 6 years. * Spent the past 2 years converting ChromeOS to bazel. * Author of ChromeOS' hermetic bazel toolchains * Contributor to rules_rust * Author of rules_cc's rule based toolchains.
Tuesday October 15, 2024 9:30am - 10:00am PDT
Hahn Auditorium

10:45am PDT

Symbolic Macros and Rule Finalizers - Susan Steinman & Alexandre Rostovtsev, Google
Tuesday October 15, 2024 10:45am - 11:15am PDT
Symbolic macros are well-structured macros with rule-like capabilities, like typed, well-documented attributes, good behavior with labels and selects(), and declared dependencies. Learn more about the structure and benefits of symbolic macros and how to use them in your code base. In addition, learn about upcoming work on rule finalizers, a special symbolic macro which - regardless of its lexical position in a BUILD file - is evaluated in the final stage of loading a package, after all non-finalizer targets have been defined.
Speakers
avatar for Alexandre Rostovtsev

Alexandre Rostovtsev

Software Engineer, Google
I have been a member of the Bazel team for 6 years; my main focus recently has been the Starlark language.
avatar for Susan Steinman

Susan Steinman

Software Engineer, Google
Susan has the awesome job of collaborating with colleagues across the Bazel team on a variety of feature and performance projects, and working to foster team productivity and collaboration. Prior to Google, Susan worked part time at a research lab and while pursuing a career in modern... Read More →
Tuesday October 15, 2024 10:45am - 11:15am PDT
Hahn Auditorium

12:00pm PDT

Not Going the Distance: Filtering Tests by Build Graph Distance - Alex Torok, Aurora Innovation
Tuesday October 15, 2024 12:00pm - 12:10pm PDT
At Aurora, many of the tests that our developers rely on are computationally expensive simulations that rely on specialized and expensive GPU hardware. We use tooling similar to bazel-diff and target-determinator to figure out what targets have changed between two git revisions, then run specific tests based on those targets. This method scaled well until our build graph reached a certain size. Changing common code triggered a larger and larger number of low-signal tests. This slowed down developer velocity due to having to wait on more tests and being more likely to get hit by a flaky test failure. We updated Aurora's in-house changed target detection tool to emit build graph distance metrics that measure the distance between a changed target and a directly modified file. This distance metric allows us to confidently skip running some tests to avoid the issues described above. In this session, I will discuss how we compute build graph distance metrics and the ways that we use them to power workflows that increase developer velocity and improve mainline stability in a domain rich with expensive-to-run tests.
Speakers
avatar for Alex Torok

Alex Torok

Senior Staff Software Engineer, Aurora Innovation
Alex Torok is a Senior Staff Software Engineer at Aurora Innovation, helping deliver the benefits of self-driving technology safely, quickly, and broadly. He works on the developer experience team, striving to make it more efficient to get code on the road.
Tuesday October 15, 2024 12:00pm - 12:10pm PDT
Hahn Auditorium

12:10pm PDT

Nix and Bazel: The Odd Couple of Build Tools - Jesse Schalken, Canva
Tuesday October 15, 2024 12:10pm - 12:20pm PDT
A talk on why Nix and Bazel does not pair with each other well, recommending to use Bazel and bzlmod instead of Nix. Specifically, Nix is a package manager that is often misintegrated into Bazel. It is incompatible with the Bazel ecosystem in that * Nix artifacts are not relocatable, breaking Bazel remote execution when Nix outputs are in the build graph * Nix binaries are incompatible with FHS and rulesets that expect FHS because binaries are located in Nix store * Users who are familiar with Bazel are (usually) not familiar with Nix. Our engineers are often unable to self-serve patches to Nix packages, and they are also unable to use the testing framework provided by Bazel (which are familiar to most engineers) to validate their patches because of the steep learning curves * At monorepo our size, it is not rare to see Nix expressions that produces several thousand derivations that each reference large sets of build inputs. Expression evaluations are often so slow that nix-builds are in the critical path during analysis phase, even though outputs are already in the Nix cache. Nix flakes can help but it has an awkward git integration which does not work very well in large monorepos
Speakers
JS

Jesse Schalken

Staff Software Engineer, Canva
Tuesday October 15, 2024 12:10pm - 12:20pm PDT
Hahn Auditorium

2:00pm PDT

Rules_lint: Formatting and Linting All Languages - Alex Eagle, Aspect Build Systems
Tuesday October 15, 2024 2:00pm - 2:30pm PDT
Tools for formatting code and performing static analysis are available in some of Bazel's language rules, but their approaches differ. This means each language has to be setup separately, and product engineers may have to learn multiple workflows across the full stack. rules_lint provides a consistent abstraction for plugging in language-specific tools, and avoids requiring changes either in language rulesets, or in user's BUILD files. In your repository you setup a single "format" workflow, and a single "linting" workflow. This talk explains why these two workflows are distinct. We'll explain how to integrate new tools into rules_lint, options for installing it into your repository, and show some nice ways that results can be integrated into developer workflows.
Speakers
avatar for Alex Eagle

Alex Eagle

Co-founder and CEO, Aspect Build Systems
Alex worked at Google on Bazel-adjacent systems from 2008-2020. He is a leader of the Bazel OSS community, and the co-founder of Aspect, a Bazel services and product company whose mission is to bring Bazel's promised benefits to all developers.
Tuesday October 15, 2024 2:00pm - 2:30pm PDT
Hahn Auditorium

3:15pm PDT

Interoperating Bazel and Other Build Systems - Alexander Neben & Zack Winter, MongoDB
Tuesday October 15, 2024 3:15pm - 3:45pm PDT
At MongoDB we do not have one central codebase or only one language. As we continue to scale this fractured ecosystem is harder to maintain so we needed to migrate these disparate repos to a shared development platform. Our first step in that journey is migrating large repos to be built with Bazel so that the build team can make a feature once and it can benefit all of our developers. MongoDB’s approach to doing this is novel because we were able to de-risk these projects by supporting significant interoperability during migration. The downside, which is what most of this talk will be about, is dealing with the large amount of configuration in the build system. For example, the MongoDB C++ codebase had ~112 configuration options and remote compilation (not with RBE) before this process began and before converting even a single target we needed to support many of these configuration options and two remote execution environments. We are going to speak about the tools we used and created for these transitions, techniques we used for maintaining our hybrid build system, and how you too can switch to Bazel gradually and gently with the enthusiastic support of your organization.
Speakers
avatar for Alexander Neben

Alexander Neben

Director of Engineering, MongoDB
Alex Neben has spent most of his career on leading build system teams with a focus on large C++ codebases. He also has a passion for performance testing and analysis. Alex is currently a Director of Engineering in the developer productivity organization at MongoDB.
Tuesday October 15, 2024 3:15pm - 3:45pm PDT
Hahn Auditorium

4:00pm PDT

Are You Ignoring Your Most Expensive Bazel Build Problems? (Develocity Can Help) - Brian Saghy, Gradle
Tuesday October 15, 2024 4:00pm - 4:10pm PDT
Are lurking problems in your Bazel builds costing you more than you think? What if hidden patterns in your build data could reveal the most impactful problems to fix? Develocity, Gradle's cross-build observability platform, helps you uncover those insights and take appropriate action. In this lightning talk, we'll explore how Develocity's unique multi-build analysis can help you: * Identify and prioritize systemic build failures with the highest impact on your team’s productivity * Pinpoint flaky tests that slow you down * Gain deeper insights into your Bazel builds’ health for faster troubleshooting and better decision-making Let your build data become the key to a more efficient and productive development workflow.
Speakers
avatar for Brian Saghy

Brian Saghy

Product Manager, Gradle
Brian Saghy is a Product Manager at Gradle, who is passionate about developer productivity and building tools that streamline development workflows. Brian brings a deep understanding of developer tools and the challenges faced by engineering teams from his prior experience in Engineering... Read More →
Tuesday October 15, 2024 4:00pm - 4:10pm PDT
Hahn Auditorium

4:50pm PDT

Rules_variant: Developer Friendly, Multiplatform Builds - Aleksander Gondek, ASML
Tuesday October 15, 2024 4:50pm - 5:00pm PDT
Creating Bazel definitions which allow to build the same targets in multiple configurations at once (i.e. different target platforms) is possibly one of the most convoluted parts of any larger project. Bazel has rich and powerful tooling that supports such an approach, yet it is not yet exposed in an approachable way. Frequently, it leads to opaque macros and custom rules whose sole purpose is to apply some transitions, naming conventions, and more, all of which contributes to Build definitions that are not developer friendly and require a higher level of Bazel familiarity to work with. `rules_variant` is a new meta-ruleset (based on `with_cfg.bzl`) designed to address that particular issue. Desired variants (essentially Bazel configurations) are stored in a JSON file and any Bazel rule may decide to be “pinned” to a certain set of said variants, simply by referencing it via an additional attribute. From the developer’s perspective it is as simple as referencing additional names, if the Bazel target has to be built in an additional “flavor” (with specific settings). This talk showcases the incredible flexibility and readability that comes from the aforementioned approach.
Speakers
avatar for Aleksander Gondek

Aleksander Gondek

Senior Software Engineer, ASML
Alex is contracting for ASML, spearheading migration to Bazel build system. He enjoys solving complex challenges in a manner that results in simple solutions. Rust, Nix and Bazel enthusiast, he attempts to bring reproducibility and correctness to any software project he works on... Read More →
Tuesday October 15, 2024 4:50pm - 5:00pm PDT
Hahn Auditorium

5:10pm PDT

The State of Compilation Database in Bazel - Thi Doan, Woven by Toyota
Tuesday October 15, 2024 5:10pm - 5:20pm PDT
There are more than one solution for generating a compilation database for Bazel today: Aspects, Action Query, Extra Actions etc. In this talk, I will talk about the pros and cons of each approach, and what we ended up with.
Speakers
avatar for Thi Doan

Thi Doan

Software Engineer, Woven by Toyota
Thi is a Build Automation Engineer at Woven by Toyota, where he focuses on building C++ toolchains for safety-critical software. Prior to Woven by Toyota, he helped integrating Bazel to iOS builds at more than one organization. Outside of work, he helps maintaining Bazel rules for... Read More →
Tuesday October 15, 2024 5:10pm - 5:20pm PDT
Hahn Auditorium
 
  • Filter By Date
  • Filter By Venue
  • Filter By Type
  • Audience Level
  • Timezone

Share Modal

Share this link via

Or copy link

Filter sessions
Apply filters to sessions.