How I Interview Remote Engineering Candidates

6 years ago

Several of my friends in tech are having a hard time in their career due to everything going on in…

Event Loops and NCurses

6 years ago

Yesterday I wrote a blog post talking about Event Loops, this was a pre-cursor to discussing where I am using…

Event Loop Programming: A Different Way of Thinking

6 years ago

The concept of event loops is not new in programming, but I think it is still a really important technique…

Socket SO_REUSEPORT and Kernel Implementations

6 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

6 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

6 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

6 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

6 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

6 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

6 years ago

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