Archive
All the posts on this site, sorted by date.Dusting off this blog
01 Oct 2026I set this blog up in 2014. In my post about the setup, I wrote about Jekyll, custom permalinks, a Makefile, and getting Travis to build it. … (Read More)
Giving AI agents a long-term reference with Markdown and GitHub
01 Oct 2026I use a GitHub repository containing an Obsidian-style archive of Markdown files as a long-term reference for AI agents. … (Read More)
Easily fix buffer overruns!
09 May 2018Has your project ever been bitten by hard-to-track down buffer overruns? … (Read More)
Fast tab-switching in vim
22 Jun 2014Working with a lot of different code bases means working with a lot of different coding styles. When code uses tab characters for indenting it makes things a lot easier - it lets the user decide how deep they would like each indent level to be. With the following macro I can change the display with of tab characters from the file’s default (often set with a vim modeline) to 1 character. This helps massively with deeply nested code and fitting everything on to one screen. … (Read More)
Eudyptula Challenge
10 Jun 2014Learning is always easier when you have a goal. If you’ve ever wanted to get started with Linux kernel development, but haven’t had a clear goal in mind, give the Eudyptula Challenge a go. … (Read More)
Fun with C++ template metaprogramming, part III
26 Apr 2014In part I and part II we played around with different constructs inside C++ templates. Now we’re ready to tackling something a bit meatier - sorting a list at compile time! … (Read More)
Libevent, signals and children
28 Jan 2014Libevent is a library to allow for callbacks to be run when specific events occur on file descriptors, after a timeout has occured, when a POSIX-style signal is raised, or at user defined points. I’ve been using it to write a single threaded program to start and control network processes. It works well, but I ran into a problem when combining libevent with fork, exec and children processes. … (Read More)
Fun with C++ template metaprogramming, part II
27 Jan 2014In part I we discussed some basic constructs that could be built using C++ template metaprogramming. This time, we’re going to build up to doing more complicated things - building lists and operating on them. … (Read More)
Blogging with Jekyll
26 Jan 2014In my first post I mentioned that I’ve used Jekyll to create this blog. … (Read More)
Fun with C++ template metaprogramming
24 Jan 2014Template metaprogramming in C++ is neat! … (Read More)
DCPU-16 emulator
24 Jan 2014A little while ago Markus Persson, creator of Minecraft announced a new game he was proposing. … (Read More)
First post
23 Jan 2014I’ve decided it’s a good idea to start writing a coding and technology blog. … (Read More)