Blog &Notes

Notes on research, engineering, and studying well, written from experience.

Latest Posts

29 posts
Cover art for post: Rules You Can Read: An Adaptive Rule-Based Classifier for Biological Data
AI and Machine Learning
October 8, 20267 min read

Rules You Can Read: An Adaptive Rule-Based Classifier for Biological Data

Biological data often means many features and few examples, along with noise and contradictions. Farid et al.'s 2016 classifier combines random feature subsets, error-focused reweighting, and C4.5 rules so the result stays readable, then checks its leftover mistakes with weighted kNN.

Ikramul Hasan
Ikramul HasanAuthor
Cover art for post: Two Hybrids, One Idea: Pairing Decision Trees with Naive Bayes
AI and Machine Learning
October 5, 20267 min read

Two Hybrids, One Idea: Pairing Decision Trees with Naive Bayes

Farid et al.'s 2014 paper builds two independent hybrids. One lets naive Bayes delete the training rows a tree would otherwise overfit. The other lets a tree select and depth-weight the attributes naive Bayes uses. Same partnership, run in opposite directions, with one caution about what a model's mistakes really mean.

Ikramul Hasan
Ikramul HasanAuthor
Cover art for post: Reading a Moving Target: The Adaptive Ensemble for Concept-Drifting Data Streams
AI and Machine Learning
October 2, 20267 min read

Reading a Moving Target: The Adaptive Ensemble for Concept-Drifting Data Streams

A dataset is a snapshot, but a stream keeps arriving and its meaning shifts over time. Farid et al.'s 2013 adaptive ensemble holds three weighted decision trees, focuses later trees on the cases earlier ones missed, watches its leaves for a new class, and swaps the weakest tree for a fresher one. This is how the pieces fit.

Ikramul Hasan
Ikramul HasanAuthor

Newsletter
Newsletter

New posts and project updates by email, a few times a year. Unsubscribe any time.

Cover art for post: Delete or Repair? Two Hybrid Classifiers and the Problem of Hard Instances
AI and Machine Learning
September 18, 20267 min read

Delete or Repair? Two Hybrid Classifiers and the Problem of Hard Instances

Farid's 2014 hybrid classifier deletes the instances naive Bayes gets wrong, then grows a tree on what's left. The same authors' 2016 paper reweights and repairs them instead. I traced both algorithms through one tennis dataset, and the contrast says something about noise in every dataset.

Ikramul Hasan
Ikramul HasanAuthor
Cover art for post: Building a Literature Review as a Reproducible Data Pipeline
Research
September 15, 20265 min read

Building a Literature Review as a Reproducible Data Pipeline

For my Big Data Analytics review paper, OpenAlex queries build the candidate pool, scripts log every include and exclude decision, and the comparison table regenerates itself from per-paper notes. Here is the system.

Ikramul Hasan
Ikramul HasanAuthor
Cover art for post: Solving the Lorenz-1960 ODE With a Physics-Informed Neural Network
AI and Machine Learning
September 9, 20266 min read

Solving the Lorenz-1960 ODE With a Physics-Informed Neural Network

Our FYDP-II model solves the Lorenz-1960 system to five decimal places, trained on the equations alone. Here is the setup, the honest numbers, and two findings the loss curve never showed us.

Ikramul Hasan
Ikramul HasanAuthor
Cover art for post: Common Linked-List Bugs: Lessons From Grading DSA-1 Submissions
Algorithms and Theory
July 29, 20266 min read

Common Linked-List Bugs: Lessons From Grading DSA-1 Submissions

I spent a semester grading DSA-1 assignments: 25 students, 10 problems, mostly linked lists. The same five bugs showed up in almost every submission. Here they are, with the code that causes them and the fixes I now grade against.

Ikramul Hasan
Ikramul HasanAuthor
Cover art for post: Building BriefLi: A Link Shortener Designed for Daily Use
Projects
July 1, 20265 min read

Building BriefLi: A Link Shortener Designed for Daily Use

BriefLi started as an itch: I share study guides and project links constantly, and long URLs with random slugs are unmanageable. So I built a shortlink dashboard on React, Supabase, and Vercel.

Ikramul Hasan
Ikramul HasanAuthor
Cover art for post: Study Packs: Treating Exam Preparation Like an Engineering Project
Learning
June 28, 20266 min read

Study Packs: Treating Exam Preparation Like an Engineering Project

I stopped 'studying hard' and started building study systems: structured prep packs with topic guides, cram sheets, mock exams, and an hour-before reading plan. Here's the full method.

Ikramul Hasan
Ikramul HasanAuthor
Cover art for post: React Reconciliation and the Virtual DOM, Explained for a Handwritten Exam
Software Engineering
June 25, 20265 min read

React Reconciliation and the Virtual DOM, Explained for a Handwritten Exam

My Mobile App Development final is handwritten: React Native and NestJS worth 16 of 20 marks, written from memory on paper. Preparing for that format forced a clearer explanation of the virtual DOM and reconciliation than any tutorial gave me.

Ikramul Hasan
Ikramul HasanAuthor
Cover art for post: Defending a Thesis With Zero Trained Models: Our FYDP-I Defense
Research
Featured
June 20, 20267 min read

Defending a Thesis With Zero Trained Models: Our FYDP-I Defense

Our final-year thesis defense had one awkward problem: we hadn't trained a single neural network yet. Here's how we defended a verified baseline instead, and the exact prep system we used.

Ikramul Hasan
Ikramul HasanAuthor
Cover art for post: The Accuracy Paradox in Intrusion Detection: Class Imbalance on UNSW-NB15
AI and Machine Learning
March 6, 20266 min read

The Accuracy Paradox in Intrusion Detection: Class Imbalance on UNSW-NB15

Our intrusion detection baseline scored 87% binary accuracy and detected exactly none of the 44 Worms samples. A controlled 18-experiment study shows what class weighting fixes, what it costs, and what it can't fix at all.

Ikramul Hasan
Ikramul HasanAuthor
Cover art for post: Verifying a Critical Path Method Answer With a Python Script
Software Engineering
February 7, 20265 min read

Verifying a Critical Path Method Answer With a Python Script

Studying for my Software Engineering final, I encoded an 11-task past-exam network as a Python dict and made the machine compute the critical path. Answer: 50 weeks, F → C → E → A. It matched my hand solution, and that agreement was the whole point.

Ikramul Hasan
Ikramul HasanAuthor
Cover art for post: Computing a Neural Network Forward Pass and Backpropagation by Hand
AI and Machine Learning
January 29, 20266 min read

Computing a Neural Network Forward Pass and Backpropagation by Hand

For my Machine Learning final I re-derived everything on paper: a 2-2-1 network producing exactly 0.631, an RNN weight update worth 0.00035, a stochastic neuron at T=0, and the pseudo-labeling threshold that decides everything. The numbers are small. The understanding isn't.

Ikramul Hasan
Ikramul HasanAuthor
Cover art for post: Length-Prefix Framing Over TCP: Reinventing a Protocol Convention From Scratch
Computer Systems
December 16, 20256 min read

Length-Prefix Framing Over TCP: Reinventing a Protocol Convention From Scratch

For my Computer Networks lab I wrote echo, chat, and file-transfer clients and servers in Python. All three ended up inventing the same fix for the same problem: prefix every message with its length. Turns out that's a real protocol technique, and I'd rederived it from need.

Ikramul Hasan
Ikramul HasanAuthor
Cover art for post: Sizing a Page Table by Hand: From Address Bits to Multi-Level Tables
Computer Systems
October 24, 20255 min read

Sizing a Page Table by Hand: From Address Bits to Multi-Level Tables

An OS assignment gave me a 256 MB virtual memory, 4 GB of physical memory, and 2 KB pages, then asked how big the page table is. The chain of arithmetic answers that, then explains why multi-level page tables exist.

Ikramul Hasan
Ikramul HasanAuthor
Cover art for post: Calibrating an MPU6050 and MAX30102 for a Wearable Health Monitor
Hardware and Embedded
September 22, 20256 min read

Calibrating an MPU6050 and MAX30102 for a Wearable Health Monitor

Our microprocessor lab project is a wearable health monitor on an ESP32: MPU6050 accelerometer and gyro, MAX30102 pulse-oximeter, OLED dashboard. The interesting parts are the conversion constants, the calibration loop, and the fall-detection dataset we recorded by hand.

Ikramul Hasan
Ikramul HasanAuthor
Cover art for post: BCNF Decomposition by Hand: Lossless Joins and Dependency Preservation
Computer Systems
July 4, 20256 min read

BCNF Decomposition by Hand: Lossless Joins and Dependency Preservation

A 28-page handwritten DBMS assignment taught me the part of normalization the diagrams skip: BCNF decomposition is always lossless, sometimes dependency-preserving, and you only find out which by computing it. Worked example included.

Ikramul Hasan
Ikramul HasanAuthor
Cover art for post: kNN and k-Means From Scratch: One Distance Function, Two Learners
AI and Machine Learning
July 3, 20256 min read

kNN and k-Means From Scratch: One Distance Function, Two Learners

My AI lab's second assignment was kNN on two datasets; the third was k-means with covariance ellipses drawn around every cluster. Written back to back, they reveal something neat: the same distance function powers a supervised learner and an unsupervised one.

Ikramul Hasan
Ikramul HasanAuthor
Cover art for post: Implementing A* Pathfinding on a Weighted Grid, With Visualization
AI and Machine Learning
May 26, 20256 min read

Implementing A* Pathfinding on a Weighted Grid, With Visualization

For my AI lab I built A* over a grid where every cell has a movement cost and obstacles are just -1 values, then drew the result with matplotlib. The version with weights taught me why the heuristic and the edge costs must speak the same units.

Ikramul Hasan
Ikramul HasanAuthor
Cover art for post: Measuring Diode Operating Points: What Forward Drops Reveal in a Real Circuit
Hardware and Embedded
January 13, 20255 min read

Measuring Diode Operating Points: What Forward Drops Reveal in a Real Circuit

Our electronics lab report recorded the operating points of a real diode network: 0.34 V here, 0.68 V there, 0.72 V across the LED branch, one diode fully off. Reading those numbers taught more than the circuit diagram did.

Ikramul Hasan
Ikramul HasanAuthor
Cover art for post: Dynamic Programming in Practice: A Course Contest Retrospective
Algorithms and Theory
November 30, 20246 min read

Dynamic Programming in Practice: A Course Contest Retrospective

Ten dynamic programming problems with real test data, solved during my DSA-2 course. Two recurrences worth stealing, one memset trap, and two problems I never finished. All of it still in the folder.

Ikramul Hasan
Ikramul HasanAuthor
Cover art for post: Arithmetic, Geometric, and Harmonic Means: A Descriptive Statistics Study by Hand
AI and Machine Learning
September 6, 20246 min read

Arithmetic, Geometric, and Harmonic Means: A Descriptive Statistics Study by Hand

Before touching pandas, my statistics course made me compute everything on a 25-person health dataset: arithmetic, geometric and harmonic means, Pearson and Spearman correlations, and medians read off an ogive. Here's what the hand-calculation taught that the libraries hide.

Ikramul Hasan
Ikramul HasanAuthor
Cover art for post: Three Greedy Algorithm Bugs That Passed Every Sample Test
Algorithms and Theory
July 14, 20246 min read

Three Greedy Algorithm Bugs That Passed Every Sample Test

An integer-division comparator that passed every sample, a greedy coin change that works until it doesn't, and a one-line union-find bug that corrupts sets silently. All three are mine, all three survived testing.

Ikramul Hasan
Ikramul HasanAuthor
Cover art for post: Grammar Ambiguity, Chomsky Normal Form, and a Seven-State DFA
Algorithms and Theory
May 14, 20246 min read

Grammar Ambiguity, Chomsky Normal Form, and a Seven-State DFA

Three assignments from my Theory of Computation course, solved by hand: proving a grammar ambiguous (and another one not), converting to Chomsky Normal Form with fresh terminals, and a DFA that tracks three string conditions at once.

Ikramul Hasan
Ikramul HasanAuthor
Cover art for post: Building a Multithreaded TCP Chat Server in Plain Java
Software Engineering
December 13, 20236 min read

Building a Multithreaded TCP Chat Server in Plain Java

For my AOOP socket assignment I built a chat server with no frameworks: a ServerSocket, one thread per client, a registry HashMap, broadcast that skips the sender, and message history replayed on join. Every part explained.

Ikramul Hasan
Ikramul HasanAuthor
Cover art for post: Maximum Power Delivery in an RC Circuit: Differentiating and Integrating by Hand
Hardware and Embedded
November 8, 20234 min read

Maximum Power Delivery in an RC Circuit: Differentiating and Integrating by Hand

An electrical circuits assignment asked for the moment of maximum power delivery from a voltage and current that decay exponentially. The answer required differentiating a product, rejecting a negative root, and integrating by parts.

Ikramul Hasan
Ikramul HasanAuthor
Cover art for post: From Boolean Algebra to a 4-Bit Ripple-Carry Adder in Logisim
Hardware and Embedded
June 22, 20235 min read

From Boolean Algebra to a 4-Bit Ripple-Carry Adder in Logisim

Two XOR gates and an AND-OR pair make a full adder. Chain four of them and you can add binary numbers. I built it all in Logisim for my DLD lab, and the algebra-first workflow stuck with me.

Ikramul Hasan
Ikramul HasanAuthor
Cover art for post: Sorting an ArrayList in Java: Anonymous Classes, Lambdas, and Reversed Comparators
Software Engineering
April 4, 20235 min read

Sorting an ArrayList in Java: Anonymous Classes, Lambdas, and Reversed Comparators

My OOP lab file sorts the same student list three ways: anonymous inner class, lambda, reversed comparator. That progression is the whole story of Java comparators, including the one rule nobody explains.

Ikramul Hasan
Ikramul HasanAuthor

Connect

I post new work on GitHub and LinkedIn first.