Blogs
August 5, 2025
Pixel-by-Pixel Image Creation: Understanding PixelCNN
This blog post aims to make PixelCNN easy to understand for beginners. We’ll start with an example to show the problem PixelCNN is designed to solve, then break down its core idea of using masked convolutions to model images pixel by pixel. From there, we’ll walk through its architecture step-by-step, including Type A and Type B masks, and build a simple PixelCNN from scratch using PyTorch. We’ll also discuss its strengths, limitations, and how it connects to similar ideas in other fields. By the end of this blog, you’ll have a clear understanding of what PixelCNN is, how it works, and how to implement it yourself.
July 25, 2025
The Game of Deception: Generative Adversarial Network (GANs)
The blog post explores Generative Adversarial Networks (GANs), which consist of two neural networks, the Generator and the Discriminator, competing in a dynamic process to create realistic data. Unlike Variational Autoencoders (VAEs), GANs produce sharp images by having the Generator create fake data while the Discriminator evaluates its authenticity. This adversarial interaction drives both networks to improve continuously, resulting in highly convincing outputs. The post explains the architecture and training of GANs using an analogy of a counterfeiter and a detective and discusses challenges like mode collapse and training instability. It concludes with a practical example of building a GAN using PyTorch and the Fashion-MNIST dataset, showcasing the generation of new fashion items.
July 20, 2025
Neural Compression Techniques Building Autoencoders and VAEs
This blog post aims to demystify autoencoders for beginners. We'll start with an example to illustrate the problem autoencoders solve, then dive into their fundamental architecture, and finally, build a simple autoencoder from scratch using PyTorch. We'll also explore their limitations and introduce you to the concept of Variational Autoencoders (VAEs), which address some of these challenges and build it from scratch. By the end of this blog, you'll have a solid grasp of what autoencoders are, how they work, and where they fit in, and you'll build an autoencoder along with a variational autoencoder from scratch.
June 20, 2025
Designing an Image Classifier Model Architecture
This blog takes you on a journey into building image classification models with deep learning, using the well-known CIFAR-10 dataset as an example. We’ll start with some basic background to get you up to speed, then go step by step through creating different types of neural networks. You’ll learn how a simple Multilayer Perceptron can be improved by adding Convolutional Neural Networks, how pooling layers make the data easier to handle, and how techniques like dropout and batch normalization help prevent overfitting and keep training stable. In the end, you’ll see that building a good AI model isn’t about following a fixed recipe it’s about experimenting, tweaking, and finding what works best for your data and goals.
May 22, 2024
The Fast Inverse Square Root Algorithm
The blog post dissects the clever fast inverse square root approximation algorithm used in the classic game Quake III Arena to significantly boost real-time 3D graphics rendering performance. It explains how this algorithm utilized bit manipulation and polynomial approximation tricks to quickly estimate the inverse square root, trading off some accuracy for a major speed gain over traditional methods.
February 17, 2024
Deep Learning Essentials : Key Concepts Before Diving Deep
This blog post serves as a comprehensive introduction to the fundamental concepts of Deep Learning. It delves into the building blocks of neural networks, explains the inner workings of forward pass and backpropagation, and explores various techniques for optimizing and fine-tuning your models.
January 4, 2024
Best Way to Load Images in Nextjs
This blog delves into optimizing image loading in Next.js with a focus on the power of placeholders for layout stability. It covers techniques for the `blur` placeholder in static and dynamic images, using the `plaiceholder` library.
October 5, 2023
ভুল পথে REACT শিখছেন না তো?
বিভিন্ন টিউটরিয়াল, কোর্স বা বুটক্যাম্পে যেভাবে React শেখানো হয়, সেটার একটি downside হলো সেখানে প্রথমেই একটি build tool যেমন CRA, Vite অথবা even worst কোনো মেটা ফ্রেমওয়ার্ক যেমন NextJS দিয়ে React শেখানো শুরু করা হয়। যা আসলে React কীভাবে কাজ করছে এর উপর বড় একটা abstraction, যার ফলে বিগিনারদের কাছে অনেক জিনিস ই 'ব্ল্যাক বক্স' হিসেবে মনে হয়।
September 4, 2023
Practical Machine Learning: Part - 4
This blog goes through the basics of running an ML model (Linear Regression), model evaluation, and data analysis, and also highlights how data preprocessing can improve the model's performance.
August 18, 2023
Practical Machine Learning: Part - 3
This blog explains dataset division for training/testing to avoid overfitting, and suggests suitable regression models like Linear Regression, Random Forest, or Gradient Boosting for our current dataset.
July 29, 2023
Making VS-Code Slightly Better
This blog covers my own vs-code customization and provides a basic understanding of how to customize your vs-code to your specific need.
March 9, 2023
Practical Machine Learning: Part - 2
This is a continuation of our 'Practical Machine Learning' blog series. This blog covers topics such as finding datasets, setting up your environment, understanding the dataset, and data preprocessing.
February 3, 2023
Practical Machine Learning: Part - 1
The series 'Practical Machine Learning' begins with this article. It covers the essentials needed to get started with machine learning, including the types of ML and basic principles.
November 28, 2022
HashTable: One Data Structure To Rule Them All
HashTable is one of the most powerful and well-known data-structure. This blog explains how a hashtable operates and how it can perform searches, inserts, and deletions in constant time.
November 17, 2022
The Essence of ACID Properties
ACID are the four properties a database should obey in order to maintain its integrity.
October 27, 2022
Getting Started With Machine Learning
How to get started with Machine Learning in a beginner-friendly way.