Measuring, analyzing, and optimizing loops using Linux perf, Top-Down Microarchitectural Analysis, and the CPU’s micro-op cache| blog.codingconfessions.com
Why Your O(log n) Algorithm Might Lose to O(n)| Confessions of a Code Addict
A step-by-step walkthrough of the toy kill program using raw Linux syscalls.| blog.codingconfessions.com
A hands-on guide to general-purpose registers and data movement in x86-64| Confessions of a Code Addict
Welcome to my ongoing series on x86-64 assembly programming, designed for programmers who want to peel back the abstraction and understand how code really runs at the machine level.| blog.codingconfessions.com
A deep dive into Python’s name resolution, bytecode, and how CPython 3.11 quietly made a popular optimization irrelevant.| Confessions of a Code Addict
Watch now | Privilege levels, syscall conventions, and how assembly code talks to the Linux kernel| blog.codingconfessions.com
Ever wondered how your CPU handles two tasks at once? Discover the magic of Simultaneous Multithreading and see what’s really going on inside.| blog.codingconfessions.com
A systems-level reasoning model for understanding why optimizations succeed or fail.| blog.codingconfessions.com
Watch now (20 mins) | Learn how to inspect registers, step through instructions, and investigate crashes using GDB.| Confessions of a Code Addict
We build a minimal X86 assembly program, run it… and hit a crash. But that crash is exactly what makes this program worth writing.| blog.codingconfessions.com
Tracing how the CPU, OS, and ELF format shape the structure of your assembly code| blog.codingconfessions.com
Understand how computers represent numbers and perform operations at the bit level before diving into assembly| Confessions of a Code Addict
Discover why 'if not mylist' is twice as fast as 'len(mylist) == 0' by examining CPython's VM instructions and object memory access patterns.| blog.codingconfessions.com
Building a mental model of computer architecture from first principles| blog.codingconfessions.com
Write faster code by understanding how it flows through your CPU| blog.codingconfessions.com
A Live, Interactive Course for Systems Engineers| blog.codingconfessions.com
A personal guide to the most useful books for understanding operating systems| Confessions of a Code Addict
Watch now | We concluded the latest live session yesterday.| blog.codingconfessions.com
Learn How to Use OpenAI's ChatGPT API's Function Call Feature to Build Powerful ChatGPT Plugins| blog.codingconfessions.com
A Comprehensive Analysis of AlphaDev's Performance and Effects on Small Sorting Tasks| blog.codingconfessions.com
My personal framework for reading research papers.| blog.codingconfessions.com
Modern software development has created a paradox: we build increasingly complex systems, yet fewer engineers understand how these systems work under the hood.| Confessions of a Code Addict
How do you fit a dictionary in 64kb RAM? Unix engineers solved it with clever data structures and compression tricks. Here's the fascinating story behind it.| blog.codingconfessions.com
Why the Pythonic way of doing emptiness check on sequences is not necessarily ambiguous in most cases| blog.codingconfessions.com
Over the past year as I’ve dived deep into systems programming, I’ve developed a strong appreciation for the finer details that drive performance optimization—something I truly enjoy discussing.| blog.codingconfessions.com