Talks
Here are the talks that I gave in various events.
CppCon 2021: Required Field for Designated Initialization
Designated initialization provides us with a way to mimic "named parameter" in C++. However, by doing so, we lost the ability to enforce the client code to provide a value for specific fields. And this talk gives a way to recover that ability.Date: 2021-08-29
CUDA Boid
This talk focuses on flocking simulation in CUDA. It starts with the three rules of boid simulation and then delves into how to optimize such a GPU simulation.Date: 2021-01-06
Type Erasure: Concept and Implementation
This talk explains the idea of type erasure in the C++ context and how it gets implemented. It first explores C style type erasure with the cast and void* and OOP style type-erasure with inheritance and virtual dispatch. And then, It explains more advanced type erasure techniques used in standard library types such as std::function. And the talk then spend the majority of time gave a case study on how to implement the proposed unique_function type.Date: 2020-02-13
Understanding Persistent Data Structures
An hour long talk on the basic idea of persistent data structures at Denver FP. Covers basic principles of persistent data structures with case studies of immutable array, list, Relaxed Radix-Balanced Trees, and Hash Array Mapped Tries.
Date: 2020-01-08
CppCon 2019: “Make impossible state unrepresentable”
A lighting talk on how to design data and types in C++ to leverage the static type system so that invariants breaking becomes impossible in certain instances.Date: 2019-09-18