Subscribe
Sign in
Home
Podcast
Notes
CPython Internals
AI
Computer Architecture
Linux Internals
x86-assembly
Contact Me
Archive
About
x86 Addressing Modes, Part 1 — Immediate and Direct Access
The foundations of memory access: static allocation, addressing modes, and the first steps toward low-level thinking.
READ THE LATEST
Most Popular
View all
What Every Developer Should Know About GPU Computing
Oct 18, 2023
•
Abhinav Upadhyay
314
11
37
How Unix Spell Ran in 64kB RAM
Jan 12
•
Abhinav Upadhyay
102
1
13
How Many Lines of C it Takes to Execute a + b in Python?
Dec 6, 2023
•
Abhinav Upadhyay
56
5
6
A Software Engineer's Guide to Reading Research Papers
Jan 28
•
Abhinav Upadhyay
164
12
Recent posts
View all
A Systems Engineer’s Guide to Benchmarking with RDTSC
A deep dive into rdtsc, instruction stream serialization, and memory fences for precise cycle-level performance measurement.
Oct 23
•
Abhinav Upadhyay
16
3
My Top 5 Favourite Features in Python 3.14
Exploring the concurrency, debugging, and performance upgrades that make Python 3.14 special.
Oct 11
•
Abhinav Upadhyay
19
2
4
Understanding Weak References in Python
Understanding Python’s memory management with weak references
Sep 30
•
Abhinav Upadhyay
13
1
Compiling Python to Run Anywhere
A guest post on building a Python compiler that generates optimized kernels while preserving the language’s simplicity.
Sep 23
•
Abhinav Upadhyay
and
Yusuf Olokoba
35
7
9
What Makes System Calls Expensive: A Linux Internals Deep Dive
An explanation of how Linux handles system calls on x86-64 and why they show up as expensive operations in performance profiles
Sep 16
•
Abhinav Upadhyay
64
4
8
This site requires JavaScript to run correctly. Please
turn on JavaScript
or unblock scripts