Chromium University - Fall 2020
Sam Goto
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 |