Archive

All the posts on this site, sorted by date.

Easily fix buffer overruns!

Has your project ever been bitten by hard-to-track down buffer overruns? … (Read More)

Easily fix buffer overruns!

Fast tab-switching in vim

Working 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)

Fast tab-switching in vim

Eudyptula Challenge

Learning 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)

Eudyptula Challenge

Fun with C++ template metaprogramming, part III

In 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)

Fun with C++ template metaprogramming, part III

Libevent, signals and children

Libevent 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)

Libevent, signals and children

Fun with C++ template metaprogramming, part II

In 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)

Fun with C++ template metaprogramming, part II

Blogging with Jekyll

In my first post I mentioned that I’ve used Jekyll to create this blog. … (Read More)

Blogging with Jekyll

Fun with C++ template metaprogramming

Template metaprogramming in C++ is neat! … (Read More)

Fun with C++ template metaprogramming

DCPU-16 emulator

A little while ago Markus Persson, creator of Minecraft announced a new game he was proposing. … (Read More)

DCPU-16 emulator

First post

I’ve decided it’s a good idea to start writing a coding and technology blog. … (Read More)

First post