Full Width [alt+shift+f] Shortcuts [alt+shift+k]
Sign Up [alt+shift+s] Log In [alt+shift+l]

Confessions of a Code Addict

Confessions of a...
Context Switching and Performance: What Every Developer Should Know Understand how context switching affects CPU registers, caches, TLB, and pipeline performance, and...
2 months ago
59
2 months ago
Understand how context switching affects CPU registers, caches, TLB, and pipeline performance, and learn strategies to mitigate performance penalties
Confessions of a...
Recording: Six Key Performance Engineering Lessons from 1BRC Last night we did this live session on performance engineering.
5 months ago
Confessions of a...
Celebrating 2^13 Subscribers & My Birthday I started this Substack on 23rd April, 2024 from 0 subscribers with a dream of writing deeply...
5 months ago
58
5 months ago
I started this Substack on 23rd April, 2024 from 0 subscribers with a dream of writing deeply technical articles and making a living.
Confessions of a...
CPython Internals: What Happens Before Bytecode Execution Starts Learn about runtime initialization, parsing and compilation of the Python code into bytecode leading...
5 months ago
Confessions of a...
Recording: Live Coding a Bytecode Compiler for Python Yesterday we concluded the live session on live coding a bytecode compiler and interpreter (VM) for...
2 months ago
53
2 months ago
Yesterday we concluded the live session on live coding a bytecode compiler and interpreter (VM) for a tiny subset of Python in Python. Even though I said I will not be sharing the recording, I think the session went quite smooth so I am sharing it here.
Confessions of a...
A Selective Survey of Efficient Speculative Decoding Techniques for LLM Inference What is speculative decoding, how it works and what are some of the recent advances in this area?
4 months ago
Confessions of a...
Disillusioning the Magic of the fork System Call How the kernels implement the fork system call
2 months ago
Confessions of a...
An Unreachable Hidden XKCD Easter Egg inside CPython No, I'm not talking about import antigravity
3 months ago
Confessions of a...
The CAP Theorem of Clustering: Why Every Algorithm Must Sacrifice Something No clustering algorithm is perfect and you must make a trade-off.
3 months ago
Confessions of a...
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...
a month ago
Confessions of a...
Reflections on 2024 and Exciting Plans for 2025 Looking back at what we accomplished in 2024, and plans for 2025
2 months ago
Confessions of a...
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 month ago
Confessions of a...
The Pythonic Emptiness Why the Pythonic way of doing emptiness check on sequences is not necessarily ambiguous in most...
3 months ago
Confessions of a...
Connecting CPython's GC Internals to Real-World Performance Learn how the knowledge of CPython internals translate into performance insights for your code
4 months ago
Confessions of a...
Live Session: Live Coding a Bytecode Interpreter for Python I will be redoing this session because the previous one had to be cancelled.
2 months ago
Confessions of a...
Live Session: Live Coding a Bytecode Interpreter for Python We are due for our next live session.
3 months ago
Confessions of a...
The Design & Implementation of the CPython Virtual Machine A deep dive into CPython's bytecode instruction format and execution engine internals
5 months ago
Confessions of a...
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...
a month ago
36
a month ago
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.
Confessions of a...
Are Function Calls Still Slow in Python? An Analysis of Recent Optimizations in CPython How costly it is to call functions and builtins in your python code? Does inlining help? How have...
6 months ago
34
6 months ago
How costly it is to call functions and builtins in your python code? Does inlining help? How have the recent CPython releases improved performance in these areas?
Confessions of a...
(Live Session) Performance Thinking: Six Key Lessons from 1BRC Over the past year as I’ve dived deep into systems programming, I’ve developed a strong appreciation...
6 months ago
32
6 months ago
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.
Confessions of a...
Linux Context Switches: The Truth About TLB Flushes Watch now (22 mins) | Is the TLB really flushed during context switches?
a month ago
Confessions of a...
Two Threads, One Core: How Simultaneous Multithreading Works Under the Hood Ever wondered how your CPU handles two tasks at once? Discover the magic of Simultaneous...
7 months ago
Confessions of a...
Substack has Failed Indian Creators Dear subscribers, This is not my usual deep technical post, it’s going to be a rant about the...
7 months ago
22
7 months ago
Dear subscribers, This is not my usual deep technical post, it’s going to be a rant about the problems I (and many other Indian writers) have faced in monetizing their writing on Substack, even after being here for years, bringing in thousands of new readers and producing...
Confessions of a...
Live Session: How Hyper-Threading (Simultaneous Multithreading) Works — A Microarchitectural... Learn about the microarchitecture implementation of SMT & its performance implications
8 months ago
Confessions of a...
All Set! Looking Under the Hood of Python's Set Data Structure Learn everything about hash tables, collision handling, and performance optimization
8 months ago
Confessions of a...
Launching Live Courses on Systems Programming Modern software development has created a paradox: we build increasingly complex systems, yet fewer...
3 weeks ago
19
3 weeks ago
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...
A Software Engineer's Guide to Reading Research Papers My personal framework for reading research papers
3 weeks ago
Confessions of a...
Recording: How Hyper-Threading Works — A Microarchitectural Perspective Last weekend, we did a live session on the architecture of the hyper-threading (simultaneous...
7 months ago
18
7 months ago
Last weekend, we did a live session on the architecture of the hyper-threading (simultaneous multithreading) implementation in Intel’s x86 processors.
Confessions of a...
Recording: CPython and ELF Essentials for Building a Basic Remote Profiler Yesterday, we did the live session on the internals of remote sampling profilers.
8 months ago
Confessions of a...
CPython Garbage Collection: The Internal Mechanics and Algorithms A detailed code walkthrough of how CPython implements memory management, including reference...
8 months ago
Confessions of a...
Live Session: CPython and ELF Essentials for Building a Basic Remote Profiler Learn some CPython internals, ELF file format and loading, and how remote profilers work
9 months ago
Confessions of a...
Invite your friends to read Confessions of a Code Addict Thank you for reading Confessions of a Code Addict — your support allows me to keep doing this work.
8 months ago
Confessions of a...
CPython Memory Management Internals A high-level but detailed explanation of how CPython implements memory management
9 months ago
Confessions of a...
Recording: How Modern CPUs Execute Your Code: A Deep Dive into Performance Watch now | We concluded the latest live session yesterday.
a week ago
Confessions of a...
Everything You Wanted to Know About Profilers in Python Learn what profilers are, when to use them and quick demo of few profilers for Python
8 months ago
Confessions of a...
Video: Architecture of Groq's LPU & Why is it so Fast? This last Sunday we did a live session on Groq’s LPU and after that many people reached out to me...
11 months ago
13
11 months ago
This last Sunday we did a live session on Groq’s LPU and after that many people reached out to me for the recording of the session.
Confessions of a...
Recording of Live Session on CPython Virtual Machine Internals Yesterday we concluded the live session on the internals of the CPython virtual machine (VM) or the...
10 months ago
12
10 months ago
Yesterday we concluded the live session on the internals of the CPython virtual machine (VM) or the bytecode interpreter implementation.
Confessions of a...
How Python Compares Floats and Ints: When Equals Isn’t Really Equal Another Python gotcha and an investigation into its internals to understand why this happens
9 months ago
Confessions of a...
Live Session: CPython Memory Management Internals Last week we concluded the live session on the internals of the CPython’s main bytecode interpreter...
9 months ago
11
9 months ago
Last week we concluded the live session on the internals of the CPython’s main bytecode interpreter (the VM), and the response from the attendees has been very encouraging. Next, I want to talk about how CPython implements memory management in its runtime. Most programming...
Confessions of a...
Live Session on CPython Virtual Machine Internals + Upcoming Posts We are long overdue for a new live session as well as some more articles.
10 months ago
Confessions of a...
Why Do Python Lists Multiply Oddly? Exploring the CPython Source Code A look at the internals of list implementation in CPython to understand this weird quirk about them
10 months ago
Confessions of a...
My Top 15 OS Books: From Theory and Implementation to Systems Programming A personal guide to the most useful books for understanding operating systems
4 days ago
Confessions of a...
What Happens When Python Starts Up? CPython Runtime Internals CPython JIT Internals, Part 1: What is the Runtime and How is it initialized?
10 months ago