This is great. It brings me back to the early days in my undergraduate trying to get a grasp on programming.<p>The "Intro to Programming" i.e. Java 101 was my first experience with programming in general, and nearly made me drop out of the CS program altogether. Something about the high-level learning and lack of understanding what was going on behind the scenes made it very difficult to grasp. It wasn't until I took a course in C the following semester that I finally began to grasp the actions behind the code I was writing. Although the code was much more difficult to write, I found the laborious process of writing C made it much easier to grasp the underlying functionality.<p>There's benefit in not having to understand the underlying intricacies of the code that you're writing, but there is something about that knowledge that makes it just so much more engaging.
I love these kind of writeups, they're so illuminating. I'd have preferred to see it with Linux, but the author really did some work to dive into Windows, which is interesting:<p>> "In order to better understand how fontdrvhost.exe works internally, we would need to focus our analysis on that executable. Unfortunately, unlike consoles, the source code of this component has not been made publicly available, so we need to roll up our sleeves and run the disassembler. There is a small consolation in the form of debug symbols (.pdb files) made available by Microsoft for system libraries [12], thanks to which we can at least know the names of individual functions."
I love this. Taking something we all take for granted and putting it under the microscope is so fascinating.<p>If the author (or translator) is reading this: one thing you should consider is changing the use of "AST tree". That expands to "abstract syntax tree tree" which is like saying "PIN number" or "ATM machine".