> "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 feel hinting at it not being about Linux bears the risk of diverting potential readers from an outstanding text.
The only deep difference to Linux imnsho would be the different graphics architecture, with it's flavours X11 and Wayland, and I'd dare to claim that 90% of the article are not platform dependent.
[1] https://fgiesen.wordpress.com/2011/07/09/a-trip-through-the-...
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.
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 don't know. All these abstractions eventually leak. We often run into problems that can only be solved by fully understanding the software layers we're building on top of. I think that this cancels out any initial benefits.
> there is something about that knowledge that makes it just so much more engaging
Agreed. It's such a joy to discover the underlying technology. Lots of people don't care about these "already solved problems" but I find them deeply interesting.
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".