Aditya Chatterjee's Blog, page 159
August 16, 2021
Basics of Gradient descent + Stochastic Gradient descent

We have explained the Basics of Gradient descent and Stochastic Gradient descent along with a simple implementation for SGD using Linear Regression.
Table of content:
Basics of Gradient descentGradient descent algorithm (batch gradient descent)Stochastic gradient descentStochastic Gradient descent vs Batch Gradient descentImplementation of Stochastic Gradient DescentBasics of Gradient descentGradient descent is an optimization function, that is used in Machine/Deep Learning. The overall ...
System Design of a Firewall
We have explored the System Design of a Firewall along with the basics of Firewall and a sample Firewall Design in a real system.
Table of content:
What are Firewalls?Uses of firewallsTypes of FirewallSystem Design of a firewallSample firewall architectureWe will get started with System Design of a Firewall now.
What are Firewalls?A firewall is a security device that monitors incoming and outgoing network traffic and based on a set of security rules decides whether to allow or block spec...
Best Coding Practices
Engineer and author Martin Fowler said, "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." Coding best practices are a set of informal rules that the software development community employs to help improve software quality. Here, are a few common practices that will help make your code more readable and maintainable.
Best Coding Practices are:
Keep your code simple and efficientWrite test casesPerform static code analysisAdhere to...Boyer Moore majority vote algorithm
Boyer Moore voting algorithm is used to find the majority element among the given sequence of elements which occurs more than N/2 times, in linear time complexity and constant space complexity.
Table of content:
Majority element problemBrute force method + Hashmap approachApproach to Boyer Moore AlgorithmBoyer Moore majority vote algorithmImplementationTime & Space complexityMajority element problemIn this "majority element problem", we need to find the element with frequency more than ...
August 15, 2021
Division using Bitwise Operations

In this article, we will see how to divide a number using the bitwise operator >> rather than using the regular division operator / or the multiplication operator * or the modulo operator %.
Table of content:
Introduction to DivisionRecap of required bitwise operationsDivision using the left shift operatorTime and Space complexityConclusionWe will explore the algorithm of bitwise algorithm now.
Introduction to DivisionSo the task here is to divide a given number with another number and r...
Image properties and styling in CSS
Why are images important in design? Not only in website design but also in other aspects of our lives. If you visit two websites, one with images and one without, what would be your first reaction? You would be more inclined to be attracted to the one that has images. That's because our brains can easily consume images as compared to text.
In this article, we have explored some properties that can be used to style images. These properties will come in handy as we design our websites.
Table of co...
Recursive Backtracking

Backtracking is one of the many algorithmic techniques that can be used to solve various problems. In this article, we will exploring the idea of backtracking with the help of recursion (Recursive Backtracking) along with examples as well.
Table of content:
What is Recursion?Visualization of Recursion & Memory usageWhat is Backtracking? (+ Recursive Backtracking)Visualization of Backtracking along with an exampleAdvantages of BacktrackingWe will get started now.
1. What is Recursion?In o...
Comparison using bitwise operations

In this article, we have explored the idea of making comparisons (equal, larger, smaller) through bitwise operations along with the basic idea of bitwise operations and their examples.
Table of content:
What are Bitwise Operations?Using bitwise operations to compare two operands(a) Check if both operands are equal
(b) Check which operand is smaller/ larger in valueTime and Space Complexity
We will get started now.
What are Bitwise Operations?In a computer setting, a bitwise operation is an...
August 14, 2021
Age of All Programming Languages
This article lists the age of All Programming Languages along with interesting points. Programming Languages did not start when you think like Python is older than Java. It all started from 1949.
Interesting points before we take a look at the complete list:
HTML, CSS and JavaScript go together but all three languages where developed in different points in time with a difference of 4 years. HTML came first in 1993 followed by JavaScript in 4th December 1995 and CSS in December 17, 1996.
The ...
August 13, 2021
Application layer with Microservices and Service Discovery
This article elaborates the working of service discovery of microservices in the application layer along with the complete idea of Application layer with Microservices and Service Discovery.
Table of content:
What is an Application Layer?Some functions of the Application layerWhat are Microservices?What is Service Discovery?Why Use Service Discovery?DNS Approach Implementation of Service DiscoveryLimitations of DNS approach to service discoveryA Simple Implementation of Service Discover...