Blog
- [2021/jun/22] back to the c++ - 0x00 - lets make our own std::variant
- [2019/sep/30] On unreachability
- [2019/apr/02] Akka cluster guts
- [2019/jan/27] scala wtf, named implicit parameters
- [2018/dec/17] Better than IO, part 4
- [2018/dec/03] Better than IO, part 3
- [2018/nov/15] Better than IO, part 2
- [2018/oct/31] scala trait with implicit bound
- [2018/oct/29] Better than IO, part 1
- [2018/sep/14] Akka actors
- [2017/jun/12] Blockchain for developers
- [2017/may/03] Dynamic typing as extreme case of interface segregation
- [2017/apr/26] implementing quake matchmaking
- [2017/apr/21] Distributed course. Implementing Raft as a student
- [2017/apr/20] Triangulation with ICMP pings
- [2017/feb/05] Distributed course. Lamports timestamps. Logical time
- [2017/jan/21] Distributed course. Reliable delivery
- [2017/jan/20] Distributed course. Chang and Roberts leader election
- [2017/jan/11] Distributed course. DHT(Distributed hash table)
- [2017/jan/10] Distributed course. Gossip
- [2017/jan/09] Distributed course. 2pc. Double phase commit
- [2017/jan/06] Distributed course. Intro
- [2015/oct/19] Writing testable code
- [2015/apr/24] includes as graphs
- [2014/dec/10] pythonic-c++
- [2014/oct/04] boost bind, breaking functions composition, nested
- [2014/jul/16] messaging over tcp
- [2014/jun/29] emacs, stumpwm, notifications, erc, compilation
- [2014/jun/28] cppman+emacs. Offline c++ STL and boost documentation
- [2014/jan/27] Commit-message
- [2014/jan/27] Branch-per-feature
- [2014/jan/26] Python default param
- [2013/oct/23] Error which is of non-class type
- [2013/sep/27] SQLite optimizations
- [2013/sep/18] How to win friends and influence people. Livejournal version