Preface
1
Docker
Basic commands
Dockerfile
1.1
Docker compose
Publishing images
Explanation from ChatGPT
1.1.1
1. Which Dockerfile is used? Do I see the build logs?
2. What happens when you run
docker compose up
?
3. What happens when you run
docker compose down
?
2
Building C++ Projects
CMake
Installing CMake
Scikit-build-core
Smart pointers
Smart Pointer deep research
3
Understanding Smart Pointers in C++: History, Problems Solved, and Best Practices
3.1
Background: Origins of Smart Pointers in C++
3.2
The Problems with Raw Pointers (and How Smart Pointers Fix Them)
3.3
Types of Smart Pointers in Modern C++
3.4
Polymorphism, Dynamic Dispatch, and Smart Pointers
3.5
Modern Best Practices for Using Smart Pointers
3.6
Using Pointers and Smart Pointers in Function Interfaces
3.6.1
Passing Smart Pointers to Functions (Parameters)
3.6.2
Returning Pointers or Smart Pointers from Functions
3.7
Factory Methods, Modern C++ Practices, and Pybind11 for Polymorphic Interfaces
3.7.1
1. Factory Methods in C++ Design
3.8
2. Modern C++ Tools and Practices for Safe, Performant Code
3.9
3. Best Practices for Pybind11 with Polymorphic C++ Interfaces
3.9.1
Exposing C++ Classes and Inheritance to Python
3.9.2
Memory Management and Ownership between C++ and Python
3.9.3
Allowing Python to Override C++ Virtual Functions (Trampoline Classes)
3.9.4
End-to-End Example and Best Practices Summary
C++ history
4
GPU Programming
5
Rust programming
Initializing a project
Modules and code organization
Applying style linters
Async programming
Lazy asyncs, and tokio-main macro
Minimal server implementation
Wakers
Bibliography
Miscellany
Miscellany
Nicholas Lyu
2025-09-14
Preface
Miscellaneous notes.