Archives for 2017

07.12.2017: Concurrent Servers Part 5 - Redis case study
05.12.2017: Book review: "Programming in Haskell" by Graham Hutton (2nd ed.)
27.11.2017: Deciphering Haskell's applicative and monadic parsers
09.11.2017: Concurrent Servers: Part 4 - libuv
06.10.2017: Concurrent Servers: Part 3 - Event-driven
04.10.2017: Concurrent Servers: Part 2 - Threads
02.10.2017: Concurrent Servers: Part 1 - Introduction
30.09.2017: Summary of reading: July - September 2017
16.08.2017: Right and left folds, primitive recursion patterns in Python and Haskell
04.08.2017: Clojure - the perfect language to expand your brain?
20.07.2017: Book review: "Working Effectively with Legacy Code" by Michael C. Feathers
11.07.2017: Interacting with a long-running child process in Python
01.07.2017: Summary of reading: April - June 2017
23.06.2017: Clojure concurrency and blocking with core.async
07.06.2017: Reducers, transducers and core.async in Clojure
23.05.2017: Notes on debugging Clojure code
10.05.2017: Adventures in JIT compilation: Part 4 - in Python
08.05.2017: Book review: "Essentials of Programming Languages" by D. Friedman and M. Wand
01.05.2017: Adventures in JIT compilation: Part 3 - LLVM
11.04.2017: On Recursion, Continuations and Trampolines
01.04.2017: Summary of reading: January - March 2017
22.03.2017: Adventures in JIT compilation: Part 2 - an x64 JIT
20.03.2017: Adventures in JIT compilation: Part 1 - an interpreter
24.02.2017: reStructuredText vs. Markdown for technical documentation
13.01.2017: Benefits of dependencies in software projects as a function of effort
11.01.2017: A brief tutorial on parsing reStructuredText (reST)
05.01.2017: Some notes on Luz - an assembler, linker and CPU simulator