Status Update

Unscheduled ramblings about programming.

  1. Of Union-Find and voodoo magic () — A chance encounter with a simple connected graph problem leads your humble narrator to a stroll down memory lane.
  2. Features of logical time () — Logical time is deterministic, which makes testing simpler and more accurate. Logical time progresses discretely through instants, so that key moments of the lifetime of an application can be visualized on a timeline. Logical time can be mapped to physical time in various ways so that it is possible to pause, fast-forward or rewind an application. Taken together, these features could improve both developer and user experience for interactive applications.
  3. I could not remember the Markdown syntax for links, so I made a pretty bad Lisp. () — Dodo 🦤 is a lightweight markup language that is used to author this website. It has no fixed semantics, except for a transformation language that can produce other output formats. It is actually based on a simple Lisp evaluator that uses the same syntax as the markup language itself.
  4. Three views of time, part 3: Esterel () — Three different languages offer three different ways to think about time in a program. In part 3, we have a look at Esterel, a programming language based on a synchronous reactive model.
  5. Three views of time, part 2: ChucK () — Three different languages offer three different ways to think about time in a program. In part 2, we have a look at ChucK, a computer music language with sample-accurate scheduling.
  6. Three views of time, part 1: SMIL () — Three different languages offer three different ways to think about time in a program. In part 1, we have a look at SMIL, a declarative language for multimedia synchronization with powerful timing constructs.
  7. Where does time go? () — Although timing and synchronization are essential to authoring correct and efficient programs, mainstream programming languages have no concept of time.