LowLevel Articles
Long form writing on the concepts that matter. No fluff, no corporate speak, just what actually happens inside the machine.
Long form writing on the concepts that matter. No fluff, no corporate speak, just what actually happens inside the machine.
B-trees are not an academic curiosity. They are the reason relational databases can handle billions of rows without grinding to a halt, and their design has more to teach about real world performance than any textbook algorithm.
Every frame on your screen is the result of a fixed function pipeline that turns geometric primitives into colored pixels, with programmable stages where you define exactly how vertices and fragments behave.
Automatic memory management is not magic. It is a set of carefully engineered tradeoffs between throughput, latency, and memory overhead, and the difference between a good collector and a bad one is the difference between smooth 60fps and a janky mess.
TCP does not just move data. It actively probes the network to find the maximum sustainable throughput without causing collapse. That probe is congestion control, and it is why the internet works at all.
Modern defenses killed stack smashing, but attackers adapted. Return oriented programming turns existing code against itself, one gadget at a time, and defending against it requires understanding it.
Your intuition about where your program spends its time is probably wrong. Profile guided optimization uses real execution data to make decisions that outperform even the best static heuristics.
Multitasking is not magic. It is a rapid switching of contexts orchestrated by the kernel scheduler, and every switch has a cost that compounds in ways most programmers ignore.
Between the button press and the OS logo lies a sequence of hardware initialization that most programmers never see. It is where a pile of silicon becomes a computer, and it is more fragile than you think.
The CPU does not execute your instructions in the order you wrote them. It reorders them to keep every execution unit busy, and if your code assumes sequential execution, it will be wrong in ways you cannot see.
A compiler is a pipeline of distinct transformations. Each stage is simpler than the whole, and each is where subtle bugs originate. Understanding the stages makes you a better programmer.
Pointers are not variables that hold addresses. They are the mechanism by which C gives you direct access to the memory model of the machine, and the machine does not forgive mistakes.