Subscribe
Sign in
Home
Podcast
Notes
Chat
CPython Internals
AI
Computer Architecture
Linux Internals
Contact Me
Archive
About
Latest
Top
Discussions
Binary Arithmetic and Bitwise Operations for Systems Programming
Understand how computers represent numbers and perform operations at the bit level before diving into assembly
Apr 12
•
Abhinav Upadhyay
17
Share this post
Confessions of a Code Addict
Binary Arithmetic and Bitwise Operations for Systems Programming
Copy link
Facebook
Email
Notes
More
Seeing the Matrix: A First-Principles Approach to Computer Architecture
Building a mental model of computer architecture from first principles
Apr 5
•
Abhinav Upadhyay
32
Share this post
Confessions of a Code Addict
Seeing the Matrix: A First-Principles Approach to Computer Architecture
Copy link
Facebook
Email
Notes
More
March 2025
Hardware-Aware Coding: CPU Architecture Concepts Every Developer Should Know
Write faster code by understanding how it flows through your CPU
Mar 21
•
Abhinav Upadhyay
86
Share this post
Confessions of a Code Addict
Hardware-Aware Coding: CPU Architecture Concepts Every Developer Should Know
Copy link
Facebook
Email
Notes
More
Python Performance: Why 'if not list' is 2x Faster Than Using len()
Discover why 'if not mylist' is twice as fast as 'len(mylist) == 0' by examining CPython's VM instructions and object memory access patterns.
Mar 12
•
Abhinav Upadhyay
29
Share this post
Confessions of a Code Addict
Python Performance: Why 'if not list' is 2x Faster Than Using len()
Copy link
Facebook
Email
Notes
More
2
February 2025
My Top 15 OS Books: From Theory and Implementation to Systems Programming
A personal guide to the most useful books for understanding operating systems
Feb 18
•
Abhinav Upadhyay
35
Share this post
Confessions of a Code Addict
My Top 15 OS Books: From Theory and Implementation to Systems Programming
Copy link
Facebook
Email
Notes
More
6
Recording: How Modern CPUs Execute Your Code: A Deep Dive into Performance
Watch now | We concluded the latest live session yesterday.
Feb 10
•
Abhinav Upadhyay
16
Share this post
Confessions of a Code Addict
Recording: How Modern CPUs Execute Your Code: A Deep Dive into Performance
Copy link
Facebook
Email
Notes
More
1:21:15
January 2025
A Software Engineer's Guide to Reading Research Papers
My personal framework for reading research papers.
Jan 28
•
Abhinav Upadhyay
141
Share this post
Confessions of a Code Addict
A Software Engineer's Guide to Reading Research Papers
Copy link
Facebook
Email
Notes
More
Launching Live Courses on Systems Programming
Modern software development has created a paradox: we build increasingly complex systems, yet fewer engineers understand how these systems work under…
Jan 25
•
Abhinav Upadhyay
46
Share this post
Confessions of a Code Addict
Launching Live Courses on Systems Programming
Copy link
Facebook
Email
Notes
More
2
Linux Context Switches: The Truth About TLB Flushes
Watch now (22 mins) | Is the TLB really flushed during context switches?
Jan 17
•
Abhinav Upadhyay
13
Share this post
Confessions of a Code Addict
Linux Context Switches: The Truth About TLB Flushes
Copy link
Facebook
Email
Notes
More
21:34
Live Session: How Modern CPUs Execute Your Code: A Deep Dive into Performance
I hope you enjoyed the recent article on how Unix spell was designed to lookup a 250kB dictionary on a 64kB machine. Writing it wore me down.
Jan 14
•
Abhinav Upadhyay
7
Share this post
Confessions of a Code Addict
Live Session: How Modern CPUs Execute Your Code: A Deep Dive into Performance
Copy link
Facebook
Email
Notes
More
How Unix Spell Ran in 64kB RAM
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…
Jan 12
•
Abhinav Upadhyay
99
Share this post
Confessions of a Code Addict
How Unix Spell Ran in 64kB RAM
Copy link
Facebook
Email
Notes
More
1
December 2024
Linux Context Switching Internals: Part 1 - Process State and Memory
How does the Linux kernel represent processes and their state: A breakdown of task_struct and mm_struct
Dec 29, 2024
•
Abhinav Upadhyay
49
Share this post
Confessions of a Code Addict
Linux Context Switching Internals: Part 1 - Process State and Memory
Copy link
Facebook
Email
Notes
More
Share
Copy link
Facebook
Email
Notes
More
This site requires JavaScript to run correctly. Please
turn on JavaScript
or unblock scripts