Lesley Lai's Blog
Self hosting comments with Comentario
Site Update (April 2025)
Representing an Abstract Syntax Tree in C++: Variants
Online Courses that I Recommend
Small Naming Tip: Use "from" Instead of "to" in Function and Variable Names
What happened to Lesley in the last couple of years
Use ManuallyDrop in Rust to control drop order of structure fields
CMAKE_SOURCE_DIR is probably not what you want
VK_KHR_dynamic_rendering tutorial
How I create bilingual functionality of this blog in plain Typescript
Little C++ Standard Library Utility: std::align
Fun with Ternary Search
Don't automatically use auto parameters in C++
Using default parameters to circumvent the type system is an anti-pattern
What is std::function in C++, and why do we need them?
Resources that help you to delve into C++
Factual errors in "These Modern Programming Languages Will Make You Suffer", and why it is a suffer to read
Improve Rust Link Time with lld
Recursive Modules in OCaml
Beware passing mutable lambda to STL algorithms
The implication of const or reference member variables in C++
Zero is the Devil: Common ways to construct bogus proofs
The surprising codegen impact of noexcept
Concepts in Programming Languages, Part II: Statics
Concepts in Programming Languages, Part I: Judgements and Inference Rules
Const Correctness Issue of std::function
Make Impossible State Unrepresentable, in C++
We are defining assignment operators wrong.
CppCon 2019 Trip Report
ACM Siggraph 2019 Trip Report
Intuition Behind X86 "lea" Instruction
When does a C++ temporary object die?
C++ Lambda Tutorial
Book Review: "Functional Programming in C++"
Tail Recursion Explanation
Book Review: "Professional CMake: A Practical Guide"
Resource management and RAII in C++
Integrate a unit test framework in cmake