ML for the Working Programmer, 2nd Edition (1996)

ASCII and Unicode quotation marks

Some Were Meant for C: The Endurance of an Unmanageable Language

Firmament: Fast, Centralized Scheduling at Scale (2016)

A Generic Synthesisable Test Bench

Comparison of AArch64 Dynamic Binary Modification Tools

Visual Cryptography Kit

ALEXANDRIA: Large-Scale Formal Proof for the Working Mathematician

Chaffinch: Confidentiality in the Face of Legal Threats

Building Auto-Tuners with Structured Bayesian Optimization

Understanding the Basis of the Kalman Filter

A semantic model for a substantial fragment of C

Algebraic Subtyping

Algebraic Subtyping [pdf]

Course materials from Cambridge's Optimizing Compilers course

Custom ELF program headers—what, why and how

Debugging with the natives, part 2

Polymorphism, subtyping and type inference in MLsub [PDF]

The Missing Link: Explaining ELF Static Linking, Semantically

Kalman Filter via a Simple and Intuitive Derivation

The Operating System: Should There Be One? (2013)

The Lynx Queue

OCaml inside: a drop-in replacement for libtls

Prolog.c: a simple Prolog interpreter written in 200 LOC of C++

Into the Depths of C: Elaborating the De Facto Standards

Malfunctional Programming

Into the Depths of C: Elaborating the De Facto Standards

Hardware Graph Prefetchers

Gdb: Debugging with the natives

Practical lock-freedom

More →