Latest

  • Sanitizers, The Alternative To Valgrind

    Sanitizers, The Alternative To Valgrind

    Valgrind is an incredibly powerful tool which helps find leaks, buffer overflows and many other things. Whilst being extremely powerful it can also be very slow. As an alternative there are little known tools that are available for Clang and GCC which can fulfil similar functions for your C / C++ applications but with much… Read more

  • My Journey Learning The Go Programming Language

    My Journey Learning The Go Programming Language

    The key to learning anything new is finding a way to engage with the material. Some people learn by reading and some learn by doing. I typically fall into the latter half and I’ve typically been more successful in mentoring people who learn in a more hands-on way. A recent Tweet I made led to… Read more

  • POSIX File Handling and Undefined Behaviour

    POSIX File Handling and Undefined Behaviour

    Whilst porting code between Linux and macOS I have come across two issues which make assumptions about how something works but in reality different implementations of libc handle them differently. In this post I’ll talk about recent issues I faced with fopen() and fclose() in codebases. Read more

  • Nested Variadic Functions in C

    Nested Variadic Functions in C

    You may be familiar with variadic functions in C, these are basically functions that allow a variable number of parameters, they are normally written like this: Obviously you can do more with them and they are very useful, but if you want to have one function calling another things can get complicated. This post explores… Read more

  • Rendering Emoji in Linux Terminals

    Rendering Emoji in Linux Terminals

    Following on from my post about getting TUIs in CentOS 7 to use Unicode I thought I should write a short piece on how to actually get those characters to render in Linux terminals. Read more

  • Unicode 7 in CentOS 7 TUI Code

    Unicode 7 in CentOS 7 TUI Code

    I’m in the middle of developing a project in C which uses NCurses and Unicode 7+ characters. This has been working out great in macOS and Fedora 31 where I have been doing most of my testing. But in CentOS I have been having big problems getting the characters to render. This post goes into… Read more