Exploring Write Ahead Logs and Streaming Sqlite to S3
I’ve been using sqlite in production for some of my personal projects for the last few months. It’s an incredible, simple and powerful tool…
Notes of systems, software and scalability
I’ve been using sqlite in production for some of my personal projects for the last few months. It’s an incredible, simple and powerful tool…
Last week I was working on a system design course where we were asked to build a real-time database. For simplicity we limit our scope to…
Consistent hashing is a special type of hashing such that hash table is resized. To understand the problem consistent hashing solves lets…
Problem: Given an integer k and a list of integers nums, return the length of the longest sublist that contains at most k distinct integers…
Problem Statement Given a two-dimensional list of integers graph representing an undirected graph as an adjacency list, return a two…
Problem statement You are given a two-dimensional integer where each cell represents number of coins in that cell. Assuming we start at…
Problem statement We run a preorder depth-first search (DFS) on the root of a binary tree. At each node in this traversal, we output D…
Problem statement You are given n people represented as an integer from to , and a list of friends tuples, where person and person are…
Binary search is something we all learn in CS101 classes. It is a very simple concept however implementing it in 15-20 minutes in a high…
Last week I got an email from https://hostgator.com saying that my shared hosting plan was using too much CPU and they decided to suspend it…
Dependency Injection(DI) is a set of software design principles that enable engineers to develop loosely coupled code. This stack overflow…
Brendan Burns in his paper Design Patterns for Container-Based Distributed Systems lays out 3 single node patterns that are used in micro…
The circuit breaker is a design pattern, used extensively in distributed systems to prevent cascading failures. In this post, we’ll go…