Study / Build, inspect, improve
Engineering.
Understand the whole path from a small instruction to a working system.
Learning notebookEngineering becomes easier to reason about when the boundaries are visible. A terminal is different from a shell; a program is different from its running process; an HTTP response is different from the live document a browser maintains.
The Linux and Chromium course projects trace those boundaries through complete journeys. Follow a command into processes and file access, or a navigation through networking, parsing, style, layout, painting, and compositing. Then use the accompanying investigations to inspect what your own machine actually does.
The same approach appears in the Transformer-from-scratch project: attention, normalization, backpropagation, and optimization are implemented explicitly in NumPy. Building a small version makes the data flow and gradients inspectable. Reproducible inputs, focused tests, and measured limits turn an interesting implementation into an explanation someone else can check.
Questions to explore
Systems beneath the interface
Trace the responsibilities of processes, the kernel, memory, files, and the services behind a command.
The browser's rendering path
Connect a response to the document, layout, paint work, and compositing. Inspect a trace before drawing a performance conclusion.
Build the small version
Implement a core mechanism directly, make its state observable, and test the behavior that explains the system.