Blog
August 2026
-
Understanding RL as a Data and Reward Problem
The core objective was to learn how Reinforcement Learning (RL) is done. Particularly since I learnt that all the massive progress that was made in LLMs…
-
Learning to fine-tune small models, and what the data kept teaching me
A big general-purpose language model can do almost anything, and you pay for that breadth on every single call. The claim I wanted to test is that for one…
May 2023
-
Mindblowing GenAI
Generative AI has been blowing everyone’s mind. I am no exception. Like many others, I do my daily conversations with ChatGPT or Bard. They wrote me…
July 2022
-
Capacity estimation for compute heavy web applications
Estimating the number of cores, memory and disk your application needs is pivotal to ensuring optimal resource usage and minimising cost. To understand…
October 2021
-
Spark Streaming — the Good, the Bad and the Ugly
Stream processing systems have become increasingly popular in the last decade. It found its usage in a variety of real time systems across the industry.…
-
The “I” in ACID — Weak Isolation Levels
ACID is an acronym for Atomicity, Consistency, Isolation and Durability. ACID compliant databases provides
July 2021
-
Amazon Dynamo — a conceptual overview (Part 3)
In Part 1 and Part 2 of the series, I talked about all the cool concepts used in Amazon Dynamo. The key aspect of the system is the decentralised nature…
-
Amazon Dynamo — a conceptual overview (Part 2)
In Part 1 of this series, we saw the various techniques that Amazon Dynamo employs to achieve high availability for write requests. In this post, we will…
-
Amazon Dynamo — a conceptual overview (Part 1)
I happened to read the Amazon Dynamo paper recently. I have read it before but not nearly as intently. Its architecture manages to bring in multiple…
June 2021
-
Thundering Herd and Stale Set Operations
In the Internet, a lot of content is consumed on a daily basis. For global services like Google, Facebook, Netflix, etc serving this data to the end users…
-
Materialising de-normalised views from a relational dataset
As the name suggests, Relation Databases are used to store entities and the relationships between them in a normalised manner. Addition to this, they also…
-
SSTables and LSM Trees
SSTables and LSM-Trees are techniques which are used to efficiently store and retrieve data. In this post, we will limit our discussion to data retrieval…