Python C Extension Module CorruptionJune 23 2018
In which a segfault in cPython is caused by an interesting interaction with shared modules on Linux.
Synchronized Music on micro:bitsFebruary 24 2018
How I made a mesh network of BBC microbits play music.
Finding Good Answers QuicklyOctober 8 2015
An introduction to Hufflepuff, a beam search library for Python.
Introducing vipdfMarch 9 2014
A tool for PDF presentations with vi-inspired keybindings.
Python: WatMarch 8 2014
Some strange-at-first-glance Python code.
Introducing gst-launch-dynamicApril 5 2013
A tool which allows modifying GStreamer pipelines at runtime.
Blackmagic DeckLink, ConsoleKit and TTYsFebruary 19 2013
In which a statically-sized buffer is too small.
Shell startup scriptsFebruary 17 2013
A description of the startup behaviour of several shells, with an instructive diagram.
Controlling Projectors with PJLinkNovember 30 2012
A Python tool for turning it off and back on again.
Awesome + GNOME ConfigurationNovember 28 2012
Configuration files which let Awesome and GNOME play well together.