Aditya Chatterjee's Blog, page 115
February 13, 2022
System Design of Amazon
In this article, we have explored System Design of Amazon, the largest e-commerce platform in depth.
Table of contents:
Introduction to AmazonSystem RequirementsThe system's capacityEstimatesOpenCart Shopping Cart SolutionComponentsLoad BalancerSummaryPre-requisite:
How to design a System? (Cheatsheet)Introduction to AmazonElectronic commerce, or ecommerce, refers to transactions carried out through the internet. Ecommerce refers to the buying and selling of goods and services over...
Depthwise Convolution op in TensorFlow (tf.nn.depthwise_conv2d)
This article will discuss about the Depthwise Convolution operation and how it is implemented using the TensorFlow framework (tf.nn.depthwise_conv2d).
Depthwise Convolution is one part of the Depthwise Separable Convolution that comes under the separable convolution techniques. In many neural network architectures depth-wise separable convolutions are preferred over normal convolutions. These kind of convolutions are used in convolutional neural networks (CNNs) designed for mobile and embedded a...
KL Divergence

In this article , one will learn about basic idea behind Kullback-Leibler Divergence (KL Divergence), how and where it is used.
TABLE CONTENTSIntroductionHow KL-DIVERGENCE is defined?Why it is not used to measure distance?IllustrationsUses of KL-DivergenceKL-Divergence vs Cross EntropyConclusionINTRODUCTIONThis article will give a clear insight into Kullback-Leibler Divergence(KL Divergence) . KL-Divergence is something that allows us to measure how far two distrib...
List vs Tuple vs Dictionary in Python
In this article, we have explored the differences between List, Tuple and Dictionary in Python.
TABLE CONTENTSIntroductionwhat is list,tuple,dictionary?CreationAccessing the elementsMutabilityAdding an elementRemoving an elementsome methods
Hola everyone! Most of us know to do code using list, tuple and dictionaries in python separately without any confusions, but when we came to work with all the three together we would get confused, so to avoid...
Finite Automata in Theory of Computation
In this article, we discuss finite automata, a state machine that takes a regular expression and changes its state accordingly for each literal and when the transitions reach the final state, the string is accepted and thus it is said to be a valid token of a language.
Table of contents.Introduction.Controlling a toll gate.Deterministic finite automata.Non-deterministic finite automata.Similarities between DFA and NFA.Summary.References.Prerequisites.Mathematical groundwork and proof...Basics of Theory of Computation: Mathematical foundation and proofs
In this article we introduce the theory of computation and lay the foundation for articles to come by going over mathematical concepts and how to prove theorems which will deem useful in understanding the domain of compiler design.
Table of contents.Introduction.Mathematical groundwork.Proofs.Summary.References.Introduction.The purpose of the theory of computation is to develop mathematical models of computation which reflect real-world machines.
It aims to answer questions such as the ...
February 12, 2022
Integer (Int Variable) in Python
In this article, we have explored Integer (Int Variable) in Python in depth along with complete Python code examples.
Table of Contents:
Introduction to variablesWhat are integer variables?How can we manually create int variables?1. Introduction to VariablesWhat exactly are variables, and why should we care about int variables? We'll go over such topics in this article and more.
First, variables in programming can be defined as reserved memory locations - or points - that store information...
Types of Programming Languages
In this article, we discuss the different major types of programming languages that is High and Low-Level Languages, how they are used, and their pros and cons.
Table of contents.Introduction.High-level languages.Mid-level languages.Low-level languages.Summary.References.Introduction.There are three major categories of of computer programming languages namely:
High level(Java, Haskell, Prolog, FORTRAN)Mid level(C, Assembly).low level(Assembly, Machine code).
Introduction to Compiler Design
A compiler is responsible for translating high-level source code into low-level code. In this article, we go over a brief overview of the compiler design domain, a very successful field of computer science.
Table of contents.Introduction.Reasons for studying compiler design.From source code to an executable.Phases in compiler design.Compiler architectures.Properties of a good compiler.Compiling a simple program.Summary.References.Introduction.A compiler is a program that takes input...
Python Function Arguments
In this article, Python Function Arguments are explored in detail with examples including Positional argument, keyword argument, default argument and variable length argument.
Table of Contents1)Glance of Arguments2)Positional arguments3)Keyword arguments4)Default arguments5)Variable length arguments1) Glance of ArgumentsLet's start by defining what function arguments are.
A user-defined function takes required information in the form function arguments.
The words argum...