Aditya Chatterjee's Blog, page 20
August 23, 2023
Animation in CSS [Complete Guide with code examples]
Table of contents:
IntroductionMain content - animationsKeyframesAnimation propertiesanimation-durationanimation-delayanimation-iteration-countanimation-play-stateanimation-fill-modeanimation-directionanimation-timing-functionBonusCSSSASSCheat sheetConclusionIntroductionOver the years, design has proven to be just as important as functionality in attracting new users. Some claim that design is the hardest part of development, since it sometimes seems im...
August 18, 2023
Battery and Fuel cells
In this article at OpenGenus, we have explored the concept of Battery and Fuel cells including different types of batteries, performance requirements, hydrogen-oxygen fuel cells and much more.
Table of contentsBatteryTypes of batteriesPrimary batteriesSecondary storage or accumulator batteriesPerformance Requirements of a battery for commercial requirementsFuel CellsCharacteristics of Fuel CellsRequirements for successful functioning of a fuel cellsHydrogen-oxygen Fuel CellMolten Carb...August 16, 2023
Django User Authentication
a. Setup a virtual environment
b. Authentication settings
c. Accounts application
d. Notes applicationAuthorization MixinAuthentication & Authorization in actionConclusionWhat is authentication?

Authentication is verifying who someone claims to be. A user can be authenticated using the following factors:
What you know - Usernames & passwords, Security questionsWho you are - Iris pattern, Fingerprints, Facial s...August 15, 2023
Git vs GitHub [Differences Explained]
Git and GitHub are widely used tools in the field of software development. While Git is a distributed version control system, GitHub is a web-based hosting service for Git repositories. In this comparison at OpenGenus, we will explore the features, applications, differences, and common questions related to Git and GitHub.
I. Git:
A. Definition and Features:
August 14, 2023
Primary and Auxiliary Constructors in Scala
A constructor is a special method that is used to initialize an object. Constructors are defined inside a class; with the same name as the class in JAVA but in Scala that is not the case. We use this keyword to initialize a constructor in Scala. There are 2 types of classes in Scala, primary constructor and auxiliary constructor. In Scala, we don't have to code getter and setter methods for primary constructors.
Table of contents:
Introduction to ConstructorDefining a primary constructorNeed ...August 13, 2023
Adapter Design Pattern
The adapter pattern is a software design pattern (also known as wrapper, an alternative naming shared with the decorator pattern) that allows the interface of an existing class (in my implementation I call it Adaptee) to be used as another interface (I call it Target). It is often used to make existing classes work with others without modifying their source code. In this article at OpenGenus, we show two ways to implement the Adapter design pattern.
Table of contents:
Motivation (why do we need...Journey through Backpropagation algorithm

In the dynamic landscape of artificial intelligence, Neural Networks have risen to prominence as the core protagonists. These intricate netw...
August 12, 2023
Winograd's Convolution Theorem [Explained]
Convolution itself is a very hefty process, in most cases there is a lot of repetitive informations from one step of the window to the next.
This significant overlap gives us the intuition that there maybe more efficient methods, that could omit extra calculations and give us a more efficient convolution method.
This theorem which gives us this efficient method has a more mathematical descent and did not originate in Convolutional netwroks. We saw our first CNN is 1994, while we had this theorem...
August 11, 2023
Next Greater Element using Stack
Given an array of integers, arr, of length N. The task is to find the Next Greater Element (NGE) for each element in the array. We will solve this problem completely in this OpenGenus article.
For a given element arr[i], the Next Greater Element is the first element to the right of arr[i] that is greater than arr[i]. If there is no such element, the Next Greater Element for tha...
Basics of Scala Programming
Reading time: 18 minutes | Coding time: 22 minutes
IntroductionScala, short for "Scalable Language," is a modern programming language that blends object-oriented and functional programming paradigms. It was designed to address the limitations and complexities of Java while offering a concise, expressive, and flexible syntax. Developed by Martin Odersky and his team, Scala was first released in 2003 and has since gained popularity in various domains including web development, data analysis, an...