Nick Desaulniers

The enemy's gate is down

Blog Archive

2023 Feb 1Forking is not free; the hidden costs
2023 Jan 27Critical Edge Splitting
2023 Jan 20Debugging -Wframe-larger-than=
2020 Apr 6Off by Two
2019 May 12f() vs f(void) in C vs C++
2019 Jan 18Finding Compiler Bugs With C-Reduce
2018 Oct 24Booting a Custom Linux Kernel in QEMU and Debugging It With GDB
2018 Jun 2Speeding Up Linux Kernel Builds With ccache
2017 Sep 5GCC vs LLVM Q3 2017 Commit Rates and Active Developer Counts
2017 May 31Running Clang-Tidy on the Linux Kernel
2017 May 16Submitting Your First Patch to the Linux Kernel and Responding to Feedback
2016 Nov 20Static and Dynamic Libraries
2016 Aug 13Object Files and Symbols
2016 Jul 1Cross Compiling C/C++ for Android
2016 Jun 18Setting up mutt with gmail on Ubuntu
2016 May 30Data Models and Word Size
2016 May 15What's in a Word?
2016 Jan 20Intro to Debugging X86-64 Assembly
2015 Aug 14My SIGGRAPH 2015 Experience
2015 Jul 23Additional C/C++ Tooling
2015 May 25Interpreter Compiler JIT
2015 Feb 22Hidden in Plain Sight - Public Key Crypto
2015 Jan 25Writing My First Technical Book Chapter
2014 Apr 18Let's Write Some X86-64
2014 Mar 1Write a Test Case
2013 Sep 26Function.prototype.bind Edge Cases
2013 Aug 28Making Great Node.js Modules With Coffeescript
2013 Jul 25Designated Initialization With Compound Literals in C
2013 Jul 3Why I'll Be Marching This 4th
2013 Jun 138 Months in Mozilla
2013 May 7Rust: Pattern Matching and the Option Type
2013 Apr 29The Persistence of Memory
2013 Apr 3Basic JIT
2013 Feb 28Commandments of a Mobile Web
2013 Jan 26C Function Pointers Alternate Syntax
2013 Jan 19[Internet] Freedom Is Not Free
2013 Jan 14Closures: JavaScript, Ruby, and Rust