Aditya Chatterjee's Blog, page 153
September 26, 2021
Backpressure and Exponential Back-off to handle overloaded systems
In this article, we explored how overloaded networks are handled using techniques such as applying back pressure and exponential back-off. Let us first begin with the reasons for overload and congestion, after which we will learn how to mitigate it.
Table of contents:
How Systems get overloaded?Mitigation of Overload: Congestion ControlBackpressureExponential Back-offLet us get started with Backpressure and Exponential Back-off to handle overloaded systems.
How Systems get overloaded?Some...
Different Normal Forms / Normalization in DBMS
In this article, we have explored Normalization in Database Management System (DBMS) in depth along with different normal forms like first normal form, second normal form, boyce codd normal form and others.
Table of contents:
What is Normalization?Levels of NormalizationFirst Normal formSecond Normal formThird Normal formBoyce-Codd Normal formFourth, Fifth Normal formLet us get started with Normalization in DBMS.
What is Normalization?Normalization is the process of organizing data in ...
Different Caching Strategies in System Design
In this article, we have explained different Strategies to update Cache in a System such as Cache Aside, Read Through, Write Back and much more. This is an important topic to design efficient system.
Table of Contents:
IntroductionDifferent Strategiesi. Cache Aside
ii. Read-Through
iii. Write-Through
iv. Write-Back
v. Write-Around
Caching(pronounced "cash") is a buffering technique that stores frequently accessed data in a cache. A cache is a temporary storage area with high retrieval speed....
September 25, 2021
Single Shot Detector (SSD) + Architecture of SSD

In this article, we will be discussing Single Shot Detector (SSD), an object detection model that is widely used in our day to day life. And we will also see how the SSD works and what makes the SSD better than other object detection models out there.
Table of contents:
Introduction to Single Shot Detector (SSD)What makes SSD special?Structure / Architecture of SSD modelYOLO vs SSDPerformance of SSDConclusionLet us get started with Single Shot Detector (SSD) + Architecture of SSD.
Introd...Architecture of YOLOv3
In this article, we have presented the Architecture of YOLOv3 model along with the changes in YOLOv3 compared to YOLOv1 and YOLOv2, how YOLOv3 maintains its accuracy and much more.
Table of contents:
Introduction to Object DetectionOverview of YOLOv3A walkthrough of YOLOv3 architectureYOLOv3 high accuracy secretWhat after YOLOv3?Let us get started with Architecture of YOLOv3 model.
1. Introduction to Object DetectionIn the field of computer vision, object detection is considered to be th...
Object Oriented Programming (OOP) in Rust
In this article, we have explored Object Oriented Programming (OOP) in Rust and covered topics like Object, Encapsulation, Inheritance, Polymorphism and others along with Rust code examples.
Table of contents:
Introduction to OOPWhat is Rust?Objects and EncapsulationInheritance and PolymorphismLet us get started with Object Oriented Programming (OOP) in Rust.
Introduction to OOPObject Oriented Programming (OOP) is a term that exists since 1967, coined by Alan Key. In OOP Architecture, the...
September 21, 2021
Longest Increasing Consecutive Subsequence
In this problem, we have to find the Longest Increasing Consecutive Subsequence in N elements. We can solve this problem efficiently using Dynamic Programming in O(N) time.
Table of contents:
Problem Statement: Longest Increasing Consecutive SubsequenceBrute Force approachImproved Naive approachDynamic Programming approachIn summary, the approach are:
Sorting AlgorithmTime complexitySpace complexityBrute Force approachO(N * 2N)O(1)Improved Naive approachO(N2)O(N)Dynamic...Introduction to Vue
Vue is a progressive JavaScript front-end framework which was developed for creating user interfaces and it could be effectively used to develop Single Page Applications (SPAs).
It is an open-source framework and follows model-view-viewmodel (MVM) pattern architecture where the data is binded two-way to views and components. The popularity of this framweork could be attributed to its easy integration and prototyping, and its small size (~ 20 KB). In this article, we'll understand the working of ...
September 20, 2021
Context Switching in OS
In this article, we have discussed about Context Switching, which is one of the most important and fundamental topics in Operating Systems.
Table of ContentsIntroduction1.ContextWhat is Context Switching?The need for Context SwitchingPreserving StatePriorityI/O Resource AllocationHandling InterruptsEfficiencyContext Switching triggers
1.Multitasking
2.Interrupt Handling
3.User and Kernel Mode SwitchingWhat is the PCB?Steps for Context SwitchingThe disadvantage of Context Switchi...
Find Peak Element in an Array
In this article, we have explained the problem of finding Peak Element in an Array along with different approaches to solve it efficiently.
Table of contents:
Problem statement: Peak Element in an ArrayThe Linear Search ApproachDivide and Conquer ApproachLet us get started with Peak Element in an Array.
Problem statement: Peak Element in an ArrayThe peak element in an array is an array element which is not smaller than it's neighbours. For example, given an array of {6,7,10,12,9} 12 is the...