Has your project ever been bitten by hard-to-track down buffer overruns? … (Read More)
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)
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)
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)
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)
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)
In my first post I mentioned that I’ve used Jekyll to create this blog. … (Read More)
Template metaprogramming in C++ is neat! … (Read More)
A little while ago Markus Persson, creator of Minecraft announced a new game he was proposing. … (Read More)
I’ve decided it’s a good idea to start writing a coding and technology blog. … (Read More)