Blog
Understanding Retrieval Metrics for RAG Systems
An overview of retrieval metrics (MRR, MAP, Precision, Recall) and techniques like RRF for building effective RAG systems.
Jupyter Kernels Made Simple: Connecting Your Virtual Environments to Notebooks
Learn how to properly connect your Python virtual environments to Jupyter notebooks using kernels to avoid
Understanding BM25 and TF-IDF
A practical guide to BM25 and TF-IDF for text retrieval, explaining term frequency saturation and document length normalization.
Classification Metrics
Why accuracy isn't enough, and what metrics to use instead for classification problems.
Systematic Error Analysis for LLM Systems: Moving Beyond Random Testing
A comprehensive guide to systematic error analysis for LLM systems using dimensional testing and qualitative coding methods
Understanding Logistic Regression with PyTorch
From linear regression's limitations to a working classifier — with memorable analogies and code.
Getting Started with SageMaker Serverless Endpoints
A practical guide to deploying serverless ML inference endpoints on SageMaker, from setup to cleanup, with zero cost for testing.
Complete Guide to Linear Regression & ML Fundamentals
From first principles to production: linear regression, gradient descent, bias-variance tradeoff, and L1/L2 regularization.
TIL: SSH Key Was Linked to the Wrong GitHub Account
Debugging why I couldn't clone a repository I could see in my browser — the SSH key was linked to the wrong GitHub account.
Production RAG Architecture with Lambda Scaling
Learn how to architect scalable RAG systems on AWS with Lambda concurrency, SQS queues, and scheduled provisioning.
Logistic Regression: From Log Odds
Exploring how logistic regression works, from the math of log odds.
TIL (Understanding NDCG)
Learn how NDCG evaluates retrieval systems using graded relevance and position discounting.
Building Linear Regression from First Principles
Understanding the building blocks of deep learning through a complete linear regression implementation.
Understanding Transformers Through a Networking Party Analogy
Learn transformer architecture through an intuitive networking party analogy — from embeddings to multi-head attention to full transformer blocks.
Vector Search and Reranking
Understanding the fundamentals of approximate nearest neighbor search and reranking models for semantic search applications.
Building a Guardrails Pipeline with AWS CDK
Learn how to implement serverless guardrails for LLM applications using AWS CDK, with input/output validation via Step Functions and Lambda.
Collaborative Filtering From Scratch
Collaborative filtering system from scratch using fastai and PyTorch