Chromium University - Fall 2020

In the fall of 2020 we hosted our very first public version of Chrome University!

The event happened online for 3 mornings in 3 parallel tracks:

We also hosted the ChromeOS track in the afternoons, and you can find the videos here.

You can find past editions here!

With that, here is the schedule:

Day 1

Time Track A Track B Track C
09:00am Opening Remarks (5 mins)
09:10am Chrome Overview
Rick Byers
An overview of the Chromium open source project, it's history, scope, organization and principals. In addition, one leader's perspective on our community, how we work best together and the values we try to live up to in advancing the chromium project.
09:50am Break (10 mins)
10:00am Life of a Pixel
Steve Kobes
A tour of the internals of Chromium's rendering architecture, tracing the steps in the pipeline from web content to display pixels. Concretizes high-level concepts with pointers to important classes and data structures in the codebase.
Life of a Script
Shu-yu Guo
The design of V8 and current ongoing work, garbage collection and how V8 fits into Blink and Chrome, and how WebAssembly fits into that picture.
Life of a Commit
Gary Tong
How Chromium Browser keeps the tree green. The basic git workflow, code review, pre-submit testing, etc.
10:50am Break (10 mins)
11:00am Anatomy of a Browser
John Abd-El-Malek
Overview of architecture of Chromium, including the process model, layering of components, and the directory structure.
The Privacy Sandbox
Josh Karlin, Mike Taylor
An overview of the Privacy Sandbox project’s mission as well as guidance on anti-tracking design principles when developing web platform features.
Chrome for Android 101
Ted Choc
Chrome for Android.
11:30am Chrome for iOS 101
Mark Cogan
Chrome for iOS.
12:00am End of Chromium Browser Schedule Day #1

Day 2

Time Track A Track B Track C
09:00am Opening Remarks (5 mins)
09:05am History of the Web
Chris Wilson
From inception, ancient, modern to contemporary history of the Web.
Life of a Web Platform Feature
Yoav Weiss
How do Web Platform features come to be? Who decides which features should be worked on? What’s the decision process that leads to shipping them? And how do web standards and other browser engines fit into all of this?

This talk will give an overview of the Blink intent process and how it’s used to make sure the project’s goal is maintained: making sure the web platform keeps growing and improving for generations to come!

C++ As A Second Language
Chris Blume
A tour of C++ for experienced/advanced programmers coming from other languages (C/Java/JS/Python/Go/VHDL/etc). C++11 features. Free functions, Include & linkage, Destructors & scope, RAII, Pass-by-value / -reference, The standard library, Smart pointers, Raw pointers, Templates.
09:50am Break (10 mins)
10:00am Cryptography 101
Adam Langley
A basic introduction to the common patterns of confidentiality and authentication and how to realise them in Chromium.
The History of WebAssembly
Alon Zakai
Follow up on the Life of a Script talk, covering the history of WebAssembly and how it came to be standardized, including the histories of Native Client and asm.js, the technologies that inspired it.
Life of a Release
Lakshmana Pamarthy
Low bar to implement, high bar to ship. Feature flags, launch review, the 6-week release cycle and channels, field trials, finch experiments.
10:50am Break (10 mins)
11:00am History of AI
Peter Norvig
Overview of the History of AI.
WebAssembly 201
Emanuel Ziegler
A deeper dive into how V8 turns WebAssembly into machine code, tiering strategies and multi-threading.
Desktop 101
Rob Liao
An introduction to fundamental aspects of Windows and Mac regarding the development of browsers. Chrome on Desktop is used by 1B users around the world. Find out how we deliver Chrome's UI from a shared codebase to Windows, Mac, Linux, and CrOS.
11:30am DevTools
Jan Scheffler
Many developers rely on DevTools to understand and debug their websites. This talk dives into how DevTools works by following the life of a (small) feature to discover the architecture.
WebView 101
Nate Fischer
WebView's use cases, architectural differences from Chrome, how to design features to target both WebView/Chromium, how to test changes on WebView. Overview of some of the projects WebView team has worked on, emphasizing "parity with Chrome" as one of our team's pillars (wrt. web platform features, architectural features such as S13N).
12:00am End of Chromium Browser Schedule Day #2

Day 3

Time Track A Track B Track C
09:00am Opening Remarks (5 mins)
09:05am QUIC 101
David Schinazi
Introduction to QUIC, the latest development in transport protocols. QUIC was originally developed by Google, is now being standardized at the IETF, and replaces TCP in HTTP/3 to improve Web loading speeds.
Security 101
Matt Denton
Cover Pwn2Own and some stories about how Chrome was hacked and how we responded by adding more layers of protection. Cover site isolation, sandboxing, OOPIF, and Clusterfuzz with much more depth. This is critical stuff, everyone should know more.
IPC 101
Oksana Zhuravlova, Ken Rockot
Overview of Mojo - Chrome’s inter-process communication system: main concepts, life of a message, security features.
09:30am Testing 101
Yang Zhang
Tour of all of the various types of automated tests in the Chrome codebase, and our approach to establishing a good habit to create fast , stable and easy tests with good coverage.
09:50am Break (10 mins)
10:00am History of the Internet
Vint Cerf
Overview of History of the Internet.
Fuzzing 101
Jonathan Metzman
A tour of fuzzing in Chromium: What is fuzzing, why fuzz, and how you can use fuzzing to find security and stability issues.
Metrics 101
Robert Kaplow
An introduction to why/how we collect metrics and use it to inform our product decisions.
10:30am Speed 101
Tim Dresser
Chrome's approach to measuring the speed of the browser, tracking regressions, and improving the user experience. 30 min much deeper talk on the whole infrastructure and stories about how we regressed in some areas because we weren't measuring the right thing.
10:50am Break (10 mins)
11:00am Path to Chromium
Sam Goto, Min Zhong, Ted Choc, Diana Zigterman, Shu-yu Guo.
Ask career or general questions top of mind to experienced Chrome Googlers.
Life of a Vulnerability
Dana Jansens
Are we really attacked? Yes. Who attacks us? What's their motivation? How do we stop them? This talk will give a brief tour around our adversaries, before focusing on a single bug to show its complete lifecycle from introduction, to real exploitation in the wild, to fix. We'll show how easy it is to introduce such bugs, some of the tools that attackers can use to turn a trivial vulnerability into a powerful exploit, and what you can do to frustrate their efforts.
12:00am End of Chromium Browser Schedule Day #3