Here are the talks that I gave in various events.


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-1-6

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-2-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-1-28

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.

Update 2019-10-26: I wrote a more detailed blog post to discuss this issue.

Date: 2019-9-18