2024.12.18: |
Implementing Raft: Part 5 - Exactly-once delivery |
2024.10.10: |
Implementing Raft: Part 4 - Key/Value Database |
2024.10.07: |
Linearizability in distributed systems |
2020.03.05: |
Implementing Raft: Part 3 - Persistence and Optimizations |
2020.02.29: |
Implementing Raft: Part 2 - Commands and Log Replication |
2020.02.24: |
Implementing Raft: Part 1 - Elections |
2020.02.22: |
Implementing Raft: Part 0 - Introduction |
2020.01.21: |
Graceful shutdown of a TCP server in Go |
2020.01.07: |
PubSub using channels in Go |
2019.04.25: |
Implementing reader-writer locks |
2019.01.17: |
On concurrency in Go HTTP servers |
2018.12.24: |
Beware of copying mutexes in Go |
2018.10.04: |
Go hits the concurrency nail right on the head |
2018.09.04: |
Measuring context switching and memory overheads for Linux threads |
2018.08.01: |
Launching Linux threads and processes with clone |
2018.07.13: |
Basics of Futexes |
2018.05.08: |
Concurrent Servers: Part 6 - Callbacks, Promises and async/await |
2017.12.07: |
Concurrent Servers: Part 5 - Redis case study |
2017.11.09: |
Concurrent Servers: Part 4 - libuv |
2017.10.06: |
Concurrent Servers: Part 3 - Event-driven |
2017.10.04: |
Concurrent Servers: Part 2 - Threads |
2017.10.02: |
Concurrent Servers: Part 1 - Introduction |
2017.06.23: |
Clojure concurrency and blocking with core.async |
2017.06.07: |
Reducers, transducers and core.async in Clojure |
2016.03.29: |
Book review: "Seven Concurrency Models in Seven Weeks" by Paul Butcher |
2016.02.16: |
The promises and challenges of std::async task-based parallelism in C++11 |
2016.02.12: |
Book review: "C++ Concurrency in Action" by Anthony Williams |
2016.02.02: |
Book review: "Structured Parallel Programming" by M. McCool, J. Reinders, A. Robinson |
2016.01.17: |
C++11 threads, affinity and hyperthreading |
2013.01.16: |
Python - paralellizing CPU-bound tasks with concurrent.futures |
2012.01.16: |
Python - parallelizing CPU-bound tasks with multiprocessing |
2011.12.27: |
Python threads: communication and stopping |
2011.08.30: |
Construction of function static variables in C++ is not thread safe |
2010.04.05: |
pthreads as a case study of good API design |
2009.01.28: |
Creating threads in Win32 C/C++ programming |