I started this Substack on 23rd April, 2023 from 0 subscribers with a dream of writing deeply technical articles and making a living. 18 months later I have accomplished one half of that dream (while the 2nd half still remains a struggle). I have published 60+ articles (and some videos) on some very unique topics which have been very well received and some of them have gone viral as well (the second half of that dream still remains a dream.). My birthday is also around the corner (12th September). To celebrate these milestone I want to recap some of my top posts from the past year with you.
Recap of My Top Posts from the Past Year
What Every Developer Should Know About GPU Computing
This has been my most read post till date, receiving close to 90,000 views since its publication. It is a good introduction to the GPU architecture without getting into the specifics of CUDA programming.
How Many Lines of C it Takes to Execute a + b in Python?
This is one of my favorite posts which explains the amount of code that is involved in executing a simple operation such as a + b in Python.
Two Threads, One Core: How Simultaneous Multithreading Works Under the Hood
This is a recent post. It provides a detailed overview of how SMT is implemented in modern processors and how it works. Not only that, it is a good introduction to the CPU microarchitecture itself and how instruction execution takes place. I highly recommend reading it.
Are Function Calls Still Slow in Python? An Analysis of Recent Optimizations in CPython
This is another recent post where I talk about some of the new performance optimizations introduced in CPython and how it has improved the performance of the interpreter across releases by showing numbers on a microbenchmark.
A Linear Algebra Trick for Computing Fibonacci Numbers Fast
Although I usually write about systems programming topics, this was a nice change of pace. In this post I talk about a neat mathematical trick to compute Fibonacci numbers fast, it has math, algorithms and code.
A Deep Dive into the Underlying Architecture of Groq's LPU
I’m very proud of this article. I explain how Groq’s LPU chip is designed and how is it able to deliver benchmark breaking level of performance on LLM inference tasks. This is one of the top results on Google on the architecture of LPU till date.
How Python Compares Floats and Ints: When Equals Isn’t Really Equal
Python has various quirks in its implementation which lead to weird and interesting results in certain cases. This post explains why sometimes you may get surprising results when doing comparison between floating point and integer values in Python. It also sheds light on the amount of overhead involved when you do such comparisons and you might be able to improve performance of your code if you could avoid doing such comparisons.
Why Do Python Lists Multiply Oddly? Exploring the CPython Source Code
Yet another article on the implementation quirks of Python. This one covers a surprising output when you try to use the * operator on lists and explains why that occurs by showing how lists are implemented in Python.
How CPython Implements and Uses Bloom Filters for String Processing
This is also one of very favorite posts. If you are familiar with the bloom filter data structure then you might be surprised to see how CPython uses it inside some of its string processing APIs, such as strip.
CPython Garbage Collection: The Internal Mechanics and Algorithms
In this article I cover every little detail about CPython’s garbage collector implementation. Right from how objects are tracked by the GC, when and how frequently the GC runs and how exactly it frees up memory.
A Limited-time Discount Offer
To celebrate the milestone of reaching 2^13 subscribers and this being my birthday week, I am sharing a limited time 20% discount offer with all of you. The offer is valid till 12th September (my birthday), so if you’ve been on the fence on taking a subscription, now is your chance.
Here’s what you get:
Although most of my writing is openly available, your support will help me continue to write more.
Paid supporters have access to the live sessions that I do once a month and access to the past recordings.
You can schedule a 30 minute call with me once a month to discuss anything you wish.
Happy Birthday Abhinav, it has been great seeing you progress, grow and satisfied.
So much to learn from you.
May the world give you everything that you desire for.
Happy Birthday!