Warning: You on are the development version of the site. Please use the public version instead.

blog archive

A subtle garbage collector bug July 2020

My most memorable bug: a memory error in a hand-written mark-and-sweep garbage collector.

A tool to manage git pre-commit hooks June 2020

How I wrote a simple, configurable and extensible tool to manage pre-commit hooks in git.

Type-safe generic data structures in C June 2020

Techniques for writing generic data structures in C using pointer casts and code generation through macros.

Writing an interpreter and debugger for an assembly language May 2020

The design and implementation of a toolkit for a pedagogical assembly language that included an interpreter, debugger and assembler and disassembler.