Blog
-
Concurrency bits: mutexes
A tour of concurrency primitives: mutexes2025-02-22
programming
c++
-
Concurrency bits: spin locks
A tour of concurrency primitives: spin locks2025-01-18
programming
c++
-
Topics in Distributed Systems: Making sense of the CAP theorem
The CAP theorem and its variations2024-12-15
distributed-systems
-
Metastable failures in distributed systems
An overview of metastable failures and how to deal with them2024-10-01
programming
distributed-systems
-
Actual programming
Advice from real programmers on how to actually write code2024-09-05
programming
c++
-
Grokking generic algorithms in C++
A closer look at how generic algorithms are implemented in practice2023-12-20
tutorial
generic-programming
c++
stl
-
Type traits from the bottom up
How type traits are implemented in the STL -
Notes on std::rotate
Analyzing different implementations of std::rotate in the STL2023-09-30
algorithms
programming
c++
stl
-
The road to std::lower_bound
How to derive a correct and efficient binary search2023-04-09
algorithms
c++
stl
-
Notes on std::unique
Implementing and using std::unique2023-02-27
algorithms
programming
c++
stl
-
The Stepanov Language Test
How to know if a language is suited to generic programming2023-01-05
generic-programming
c++
-
How to code it: algorithmic problem solving
Using Polya’s How To Solve It techniques in algorithmic problems2022-02-24
tutorial
algorithms
programming
-
A sample of sampling algorithms
Algorithms for generating samples2021-05-02
algorithms
python
-
Relation between std::is_sorted and find_adjacent_mismatch
How to implement std::is_sorted in terms of find_adjacent_mismatch2021-04-25
algorithms
c++
stl
-
Three categories of comments in source code
How to write good comments2021-02-05
programming
-
A Philosophy of Software Design, by John Ousterhout
Notes about the book 'A Philosophy of Software Design, by John Ousterhout'2021-02-01
books
programming