• Flexible Array Members: Typical C Shenanigans

    Speed. I am Speed. The one thing that C cares about is speed. Seriously, you might not get the right results, but at least, you will get them fast. Let’s look at two common ways to represent a vector in C. The first one is to just use the built-in array type. This approach is […]

  • Why Undefined Behavior Matters

    So Many Bugs So, you’ve been programming for one month, or for ten years, and you have gotten familiar with Murphy’s and Sturgeon’s laws. And you are wondering if there is some way to catch all the bugs, not just spray-and-pray with regression/unit/integration/system/acceptance testing. Or you are a curious onlooker, wondering why all these programmers […]

  • Continuous Integration and Delivery Made Easy

    These are not really advanced topics, but I wanted to write about them anyway. So here it is. Continuous Integration Sometimes, I report bugs in software. Others, in libraries. Or I can just fix things by myself. And more. Point being: there are lots of bugs everywhere. What do we, software developers, do to avoid […]

  • Building for Windows without Running Windows

    By the way, I use Linux 1998 2008 2018 2022 will be the year of the Linux desktop. Definitely sometimes before 2028. Maybe before 2038? Ok, maybe not. In any case, I am the most comfortable working (and studying, and procrastinating, and gaming, and procrastinating) on Linux (yeah, yeah, GNU/Linux or GNU+Linux, I know). Actually […]

  • Astronomical Depth Buffer

    Astronomical Depth Buffer

    Guess what. We’re going to talk about floating point arithmetic and what happens when using distances that range from the millimeter to Pluto’s distance to the Sun. Yes, yet again. Floating Point Arithmetic OpenGL uses single precision floating point arithmetic. In any case, that’s what your GPU prefers to use. This means you can be […]

About Me

I found the Dark Side in elementary school in a book from the local public library that taught me QuickBASIC. Nowadays, I mostly use Python, C and C++. In the meantime, I got a Master in computer science from École normale supérieure de Lyon because I wanted to really understand how computers work. Then I got a PhD in mathematics from École normale supérieure because cryptography is fun.