This repo contains the list of talks & lectures I've given. Over time, I plan to add others from the past, as I remember & find them.
List (latest first):
- 2024-11-22 Talk - Revisiting Abstractions - at Rootconf Mini Nov'24, this is a more refined version of my talk by the same name I did at LinkedIn in Oct'24. Abstractions are great! They help us think without being overwhelmed by details. But sometimes they can come at the cost of understanding, where they become a wall that we don't wish to climb. That limits us. In this talk I share how, in the last 10-15 yrs, progress of accessibility in tech via frameworks, languages and best practices, has naturally (and mostly for the good) created walls like these. I also discuss why we'll see a lot of these abstractions being revisited over the next decade, and why those prepared to revisit foundations of this field are best placed to make the most of these changes.
- 2024-10-17 Talk - Revisiting Abstractions - presented to engineers at LinkedIn. Abstractions are great! They help us think without being overwhelmed by details. But sometimes they can come at the cost of understanding, where they become a wall that we don't wish to climb. That limits us. In this talk I share how, in the last 10-15 yrs, progress of accessibility in tech via frameworks, languages and best practices, has naturally (and mostly for the good) created walls like these. I also discuss why we'll see a lot of these abstractions being revisited over the next decade, and why those prepared to revisit foundations of this field are best placed to make the most of these changes.
- 2024-09-28 Talk - Boundary Conditions - in this talk given at BlrSys3, I discuss specific pieces of code designed to amplify certain hardware behaviours. The idea behind this talk is to treat CPU architecture not just as theory, but something that has real world implications. In some sense, we use code to understand CPU architecture.
- 2024-07-19 Talk - GPU Architecture - this talk, given to Dashtoon's tech team, goes into GPU Architecure at a hardware level, and its programming models. We use WebGPU/WGSL to walk through the programming model, and review detailed architecture of Nvidia, AMD & Intel's GPUs. We also go into a few commonly used techniques for performance tuning shaders/kernels for optimal computational intensity.
- 2024-06-29 Talk - Systems Resurgent? - in this talk, given at Systems Distributed '24, I explore if systems thinking/engineering is going to more relevant in future. I use the lens of developments in tech industry over the past 20 yrs to make a case for increased relevance & importance of it.
- 2024-04-01 Lecture - Programming Constructs - in this lecture, we explore under the hood details of selected programming constructs, such as variables, functions, classes, try/catch etc. We try to imagine how they might be implemented at a hardware level, and validate our understanding with actuals. In the process, we develop a deeper understanding of these constructs in programming languages.
- 2024-03-16 Lecture - The VMs around us - this lecture covers the design & architecture of Virtual Machines. We start with trying to describe the key components of a VM, and apply that understanding to do a survey of existing VMs, and take a peek into their design decisions. Video
- 2024-03-14 Talk - Engineering in the AI era - I shared with the engineers at Groww an opinionated take on what Engineering is about, its relevance in the AI era, and what capabilities engineers should continue to refine for themselves.
- 2024-03-02 Lecture - Inside the GPU - here we explore GPU architecture & programming models for GPUs. We explore what makes a GPU distinct from a CPU at a hardware level, is it even different at all, and why they excel in areas where they do. During this process, we try to imagine GPU programming models should be like, and in what ways our imagination vs reality agree & disagree. Throughout all of this, we use WebGPU as a way to explore the software API side of things. Video
- 2024-02-24 Lecture - Inside the Machine - this lecture covers basic computer architecture, designed to bring out principles that are useful in hardware & software, with a little seasoning of details. Video