29 July 2015

Vector addition systems are a model of computation. For this model, coverability is one of the easiest decision problems. This post presents an old (1978) upper bound, with accompanying code.

27 April 2015

Tree Buffers

Circular buffers are one of the most fundamental and pervasive data structures. They are an efficient implementation for buffering linear sequences. Tree buffers are a more general data structure.

03 April 2015

RIP Herman Conjecture (2005-2015)

In 1990, Herman proposed a sweet self-stabilizing protocol. In 2005, McIver and Morgan conjectured that its running time is $\frac{4}{27} N^2$. Well … they were right.

26 December 2014

Why I use MOOCs

I saw a Google Plus post saying ‘I hope to hear less about MOOCs in 2015’. Well, I hope to hear more. Here's why.

31 October 2014

Dynamic Dispatch

In which I explain how to solve puzzle questions involving dynamic dispatch.

28 October 2014

Why Do We Fail?

What is there to do if a problem refuses to be knocked down? There's a generic problem solving strategy for that.

13 October 2014

Research and Startups

In which I argue that research is an extreme form of startup.