PinnedPredrag GruevskiCompiler Adventures, part 1: No-op InstructionsA beginner-friendly introduction to compilers: building a compiler for the Advent of Code MONAD language. This episode: eliminating no-ops.Feb 3, 20221Feb 3, 20221
Predrag GruevskiCompiler Adventures, part 3: Value NumberingBeginner-friendly introduction to compiler optimizations. In this episode: value numbering helps track how values are used in the program.May 17, 2022May 17, 2022
Predrag GruevskiTo ace exams, get better at the easy questionsCommon advice is for common situations. Acing an exam isn’t common, so common advice won’t get you there. Here’s a technique that can.Apr 1, 2022Apr 1, 2022
Predrag GruevskiCompiler Adventures, part 2: Constant PropagationBeginner-friendly introduction to compilers. In this episode: propagating constant values to find more instructions we can eliminate.Feb 17, 2022Feb 17, 2022
Predrag GruevskiLearn by Example: How Paxos and Two-Phase Commit DifferDistributed systems courses tend to introduce Paxos and two-phase commit (2PC) in quick succession, leading to confusion…Jan 26, 2021Jan 26, 2021
Predrag GruevskiinKensho BlogDatabase-agnostic querying is unavoidable at scaleAs the amount of data managed by an organization grows, the difficulty of managing and querying that data grows as well: more databases…Jul 22, 20201Jul 22, 20201
Predrag GruevskiinKensho Blogpytest-annotate is now open-source!Just a few days ago, Dropbox open-sourced PyAnnotate, a Python library that observes the execution of a Python program and automatically…Nov 20, 2017Nov 20, 2017
Predrag GruevskiinKensho BlogGraphQL compiler + Python 3 = ❤supported_python_version += 1. Check out what the GraphQL compiler can do in our previous post!Sep 19, 2017Sep 19, 2017
Predrag GruevskiinKensho BlogCompiled GraphQL as a database query languageFor nearly a year now, Kensho has been using GraphQL in a highly unusual way — by compiling GraphQL queries directly into a single…Jul 19, 20175Jul 19, 20175