41554 blogs · [ { "id": "01a0821d-aa9a-721f-ba56-be54131ebc3d", "title": "USPS as an ISP", "url": "https://nickdesaulniers.github.io/blog/2023/03/10/usps-as-an-isp/", "published_at": "2023-03-10T23:07:05+00:00" }, { "id": "01a0821d-aa9a-721f-ba56-be541398e88b", "title": "Disambiguating Arm, Arm ARM, Armv9, ARM9, ARM64, AArch64, A64, A78, ...", "url": "https://nickdesaulniers.github.io/blog/2023/03/10/disambiguating-arm/", "published_at": "2023-03-10T19:39:11+00:00" }, { "id": "01a0821d-aa9a-721f-ba56-be5414503985", "title": "Forking is not free; the hidden costs", "url": "https://nickdesaulniers.github.io/blog/2023/02/01/forking-is-not-free-the-hidden-costs/", "published_at": "2023-02-01T21:42:57+00:00" }, { "id": "01a0821d-aa9a-721f-ba56-be541517385d", "title": "Critical Edge Splitting", "url": "https://nickdesaulniers.github.io/blog/2023/01/27/critical-edge-splitting/", "published_at": "2023-01-27T17:16:05+00:00" }, { "id": "01a0821d-aa9a-721f-ba56-be5415b9852f", "title": "Debugging -Wframe-larger-than=", "url": "https://nickdesaulniers.github.io/blog/2023/01/20/debugging-wframe-larger-than/", "published_at": "2023-01-20T17:27:32+00:00" }, { "id": "01a0821d-aa9a-721f-ba56-be5415df9ac5", "title": "Off by Two", "url": "https://nickdesaulniers.github.io/blog/2020/04/06/off-by-two/", "published_at": "2020-04-06T00:00:00+00:00" }, { "id": "01a0821d-aa9a-721f-ba56-be5415dfb568", "title": "f() vs f(void) in C vs C++", "url": "https://nickdesaulniers.github.io/blog/2019/05/12/f-vs-f-void-in-c-vs-c-plus-plus/", "published_at": "2019-05-12T00:00:00+00:00" }, { "id": "01a0821d-aa9a-721f-ba56-be54168d685f", "title": "Finding Compiler Bugs With C-Reduce", "url": "https://nickdesaulniers.github.io/blog/2019/01/18/finding-compiler-bugs-with-c-reduce/", "published_at": "2019-01-18T00:00:00+00:00" }, { "id": "01a0821d-aa9a-721f-ba56-be5416f3b9ce", "title": "Booting a Custom Linux Kernel in QEMU and Debugging It With GDB", "url": "https://nickdesaulniers.github.io/blog/2018/10/24/booting-a-custom-linux-kernel-in-qemu-and-debugging-it-with-gdb/", "published_at": "2018-10-24T00:00:00+00:00" }, { "id": "01a0821d-aa9a-721f-ba56-be5417eed3ba", "title": "Speeding Up Linux Kernel Builds With ccache", "url": "https://nickdesaulniers.github.io/blog/2018/06/02/speeding-up-linux-kernel-builds-with-ccache/", "published_at": "2018-06-02T00:00:00+00:00" }, { "id": "01a0821d-aa9a-721f-ba56-be5418afee56", "title": "GCC vs LLVM Q3 2017 Commit Rates and Active Developer Counts", "url": "https://nickdesaulniers.github.io/blog/2017/09/05/gcc-vs-llvm-q3-2017-commit-rates-and-active-developer-counts/", "published_at": "2017-09-05T00:00:00+00:00" }, { "id": "01a0821d-aa9a-721f-ba56-be54196bc1e4", "title": "Running Clang-Tidy on the Linux Kernel", "url": "https://nickdesaulniers.github.io/blog/2017/05/31/running-clang-tidy-on-the-linux-kernel/", "published_at": "2017-05-31T00:00:00+00:00" }, { "id": "01a0821d-aa9a-721f-ba56-be541a1aaa7f", "title": "Submitting Your First Patch to the Linux Kernel and Responding to Feedback", "url": "https://nickdesaulniers.github.io/blog/2017/05/16/submitting-your-first-patch-to-the-linux-kernel-and-responding-to-feedback/", "published_at": "2017-05-16T00:00:00+00:00" }, { "id": "01a0821d-aa9a-721f-ba56-be541a300d4c", "title": "Static and Dynamic Libraries", "url": "https://nickdesaulniers.github.io/blog/2016/11/20/static-and-dynamic-libraries/", "published_at": "2016-11-20T00:00:00+00:00" }, { "id": "01a0821d-aa9a-721f-ba56-be541afcb0f9", "title": "Object Files and Symbols", "url": "https://nickdesaulniers.github.io/blog/2016/08/13/object-files-and-symbols/", "published_at": "2016-08-13T00:00:00+00:00" }, { "id": "01a0821d-aa9a-721f-ba56-be541b2a65bf", "title": "Cross Compiling C/C++ for Android", "url": "https://nickdesaulniers.github.io/blog/2016/07/01/android-cli/", "published_at": "2016-07-01T00:00:00+00:00" }, { "id": "01a0821d-aa9a-721f-ba56-be541b813c7d", "title": "Setting up mutt with gmail on Ubuntu", "url": "https://nickdesaulniers.github.io/blog/2016/06/18/mutt-gmail-ubuntu/", "published_at": "2016-06-18T00:00:00+00:00" }, { "id": "01a0821d-aa9a-721f-ba56-be541bf53e2c", "title": "Data Models and Word Size", "url": "https://nickdesaulniers.github.io/blog/2016/05/30/data-models-and-word-size/", "published_at": "2016-05-30T00:00:00+00:00" }, { "id": "01a0821d-aa9a-721f-ba56-be541c21974e", "title": "What's in a Word?", "url": "https://nickdesaulniers.github.io/blog/2016/05/15/whats-in-a-word/", "published_at": "2016-05-15T00:00:00+00:00" }, { "id": "01a0821d-aa9a-721f-ba56-be541c28e4ca", "title": "Intro to Debugging X86-64 Assembly", "url": "https://nickdesaulniers.github.io/blog/2016/01/20/debugging-x86-64-assembly-with-lldb-and-dtrace/", "published_at": "2016-01-20T00:00:00+00:00" }, { "id": "01a0821d-aa9a-721f-ba56-be541c2f1d86", "title": "My SIGGRAPH 2015 Experience", "url": "https://nickdesaulniers.github.io/blog/2015/08/14/my-siggraph-2015-experience/", "published_at": "2015-08-14T00:00:00+00:00" }, { "id": "01a0821d-aa9a-721f-ba56-be541ce91f5d", "title": "Additional C/C++ Tooling", "url": "https://nickdesaulniers.github.io/blog/2015/07/23/additional-c-slash-c-plus-plus-tooling/", "published_at": "2015-07-23T00:00:00+00:00" }, { "id": "01a0821d-aa9a-721f-ba56-be541dc1fbac", "title": "Interpreter Compiler JIT", "url": "https://nickdesaulniers.github.io/blog/2015/05/25/interpreter-compiler-jit/", "published_at": "2015-05-25T00:00:00+00:00" }, { "id": "01a0821d-aa9a-721f-ba56-be541dd3da40", "title": "Hidden in Plain Sight - Public Key Crypto", "url": "https://nickdesaulniers.github.io/blog/2015/02/22/public-key-crypto-code-example/", "published_at": "2015-02-22T00:00:00+00:00" }, { "id": "01a0821d-aa9a-721f-ba56-be541e1f5c10", "title": "Writing My First Technical Book Chapter", "url": "https://nickdesaulniers.github.io/blog/2015/01/25/writing-my-first-book-chapter/", "published_at": "2015-01-25T00:00:00+00:00" }, { "id": "01a0821d-aa9a-721f-ba56-be541eac2bb4", "title": "Let's Write Some X86-64", "url": "https://nickdesaulniers.github.io/blog/2014/04/18/lets-write-some-x86-64/", "published_at": "2014-04-18T00:00:00+00:00" }, { "id": "01a0821d-aa9a-721f-ba56-be541faaee86", "title": "Write a Test Case", "url": "https://nickdesaulniers.github.io/blog/2014/03/01/write-a-test-case/", "published_at": "2014-03-01T00:00:00+00:00" }, { "id": "01a0821d-aa9a-721f-ba56-be54209db51a", "title": "Function.prototype.bind Edge Cases", "url": "https://nickdesaulniers.github.io/blog/2013/09/26/function-dot-prototype-dot-bind-edge-cases/", "published_at": "2013-09-26T00:00:00+00:00" }, { "id": "01a0821d-aa9a-721f-ba56-be5420d05e9d", "title": "Making Great Node.js Modules With Coffeescript", "url": "https://nickdesaulniers.github.io/blog/2013/08/28/making-great-node-dot-js-modules-with-coffeescript/", "published_at": "2013-08-28T00:00:00+00:00" }, { "id": "01a0821d-aa9a-721f-ba56-be5420e64048", "title": "Designated Initialization With Compound Literals in C", "url": "https://nickdesaulniers.github.io/blog/2013/07/25/designated-initialization-with-pointers-in-c/", "published_at": "2013-07-25T00:00:00+00:00" }, { "id": "01a0821d-aa9a-721f-ba56-be54218d48b2", "title": "Why I'll Be Marching This 4th", "url": "https://nickdesaulniers.github.io/blog/2013/07/03/why-ill-be-marching-this-4th/", "published_at": "2013-07-03T00:00:00+00:00" }, { "id": "01a0821d-aa9a-721f-ba56-be5422576199", "title": "8 Months in Mozilla", "url": "https://nickdesaulniers.github.io/blog/2013/06/13/8-months-in-mozilla/", "published_at": "2013-06-13T00:00:00+00:00" }, { "id": "01a0821d-aa9a-721f-ba56-be5422d05a9e", "title": "Rust: Pattern Matching and the Option Type", "url": "https://nickdesaulniers.github.io/blog/2013/05/07/rust-pattern-matching-and-the-option-type/", "published_at": "2013-05-07T00:00:00+00:00" }, { "id": "01a0821d-aa9a-721f-ba56-be5423629672", "title": "The Persistence of Memory", "url": "https://nickdesaulniers.github.io/blog/2013/04/29/the-persistence-of-memory/", "published_at": "2013-04-29T00:00:00+00:00" }, { "id": "01a0821d-aa9a-721f-ba56-be5423a2980a", "title": "Basic JIT", "url": "https://nickdesaulniers.github.io/blog/2013/04/03/basic-jit/", "published_at": "2013-04-03T00:00:00+00:00" }, { "id": "01a0821d-aa9a-721f-ba56-be5423cd320d", "title": "Commandments of a Mobile Web", "url": "https://nickdesaulniers.github.io/blog/2013/02/28/commandments-of-a-mobile-web/", "published_at": "2013-02-28T00:00:00+00:00" }, { "id": "01a0821d-aa9a-721f-ba56-be5424c8212d", "title": "C Function Pointers Alternate Syntax", "url": "https://nickdesaulniers.github.io/blog/2013/01/26/c-function-pointers-alternate-syntax/", "published_at": "2013-01-26T00:00:00+00:00" }, { "id": "01a0821d-aa9a-721f-ba56-be5425beb707", "title": "[Internet] Freedom Is Not Free", "url": "https://nickdesaulniers.github.io/blog/2013/01/19/internet-freedom-is-not-free/", "published_at": "2013-01-19T00:00:00+00:00" }, { "id": "01a0821d-aa9a-721f-ba56-be5425ef77bb", "title": "Closures: JavaScript, Ruby, and Rust", "url": "https://nickdesaulniers.github.io/blog/2013/01/14/closures-javascript/", "published_at": "2013-01-14T00:00:00+00:00" }, { "id": "01a0821d-aa9a-721f-ba56-be54264c3f84", "title": "About", "url": "https://nickdesaulniers.github.io/about/", "published_at": null }, { "id": "01a0821d-aa9a-721f-ba56-be5426fa2c18", "title": "Blog Archive", "url": "https://nickdesaulniers.github.io/blog/archives/", "published_at": null }, { "id": "01a0821d-aa9a-721f-ba56-be5427f6004a", "title": "Publications", "url": "https://nickdesaulniers.github.io/publications/", "published_at": null }, { "id": "01a0821d-aa9a-721f-ba56-be54280f7fdb", "title": "Talks", "url": "https://nickdesaulniers.github.io/talks/", "published_at": null } ] posts Claim your blog
Back to Nick Desaulniers
Blog · corpus.blog/blogs/nickdesaulniers.github.io/posts

Nick Desaulniers

nickdesaulniers.github.io

2023

2020

2019

2018

2017

2016

2015

2014

2013

Undated