Socket SO_REUSEPORT and Kernel Implementations

5 years ago

Way back when I was at NGINX I worked with several people on integrating a kernel patch for SO_REUSEPORT in…

Sanitizers, The Alternative To Valgrind

5 years ago

Valgrind is an incredibly powerful tool which helps find leaks, buffer overflows and many other things. Whilst being extremely powerful…

My Journey Learning The Go Programming Language

5 years ago

The key to learning anything new is finding a way to engage with the material. Some people learn by reading…

POSIX File Handling and Undefined Behaviour

5 years ago

Whilst porting code between Linux and macOS I have come across two issues which make assumptions about how something works…

Nested Variadic Functions in C

5 years ago

You may be familiar with variadic functions in C, these are basically functions that allow a variable number of parameters,…

Rendering Emoji in Linux Terminals

5 years ago

Following on from my post about getting TUIs in CentOS 7 to use Unicode I thought I should write a…

Unicode 7 in CentOS 7 TUI Code

5 years ago

I'm in the middle of developing a project in C which uses NCurses and Unicode 7+ characters. This has been…

Fixing an OpenSSL issue with Curl and Autotools

6 years ago

One project I created at MariaDB is libMariaS3 [source, documentation]. It is a lightweight simple LGPL licensed API to access…

Episode 2: Introduction to Open Source and Licensing

6 years ago

Open Source Software is key to many of innovations in technology over the last few decades. It is also a…

Episode 1: Depression and Burnout

6 years ago

Depression and burnout are common problems, especially in the tech industry. In this episode I discuss my person experience of…