From “Does It Work?” to “Will It Break?”: My Evolution in Software TestingFor most of my early projects, “testing” meant hitting Run, seeing if the output looked right, and throwing in console.log ...
Grappling with LLM Evaluation: A Student’s Field NotesWhen I first started working with large language models, I thought evaluation would be the easy part.In my earlier NLP coursework, you trained ...
From Monolith to MicroservicesWhen I started building my final project for software architecture class — a small e-commerce platform — I wrote everything in a single Node.js app.User authenticatio...
Trying to Understand MoE: How LLMs Get Both Bigger and SmarterEvery few months, a new model drops that makes the field collectively gasp.“Trillions of parameters.”It sounds absurd — not just large,...
Leveling Up in React: My Journey with Advanced HooksFor the first few months of learning React, my world was small and comfortable — defined almost entirely by useState and useEffect. They were the...
Building My First RAG System: Grounding LLMs in RealityWhen you first encounter large language models, one phrase stands out: “knowledge cutoff.”Ask them about something that happened last week, an...
My TypeScript “Aha!” Moments: Best Practices I Learned on a Real ProjectWhen I started building a semester-long project in TypeScript, I thought the type system would automatically make our code bu...
My App Was Working, But It Was SlowWhen I first deployed my portfolio project, it looked fine on my machine. The layout worked, the transitions felt smooth, and I was proud of the code.Then came th...
How I Shrank My LLM: A Student’s Dive into Model QuantizationThe first time I loaded a large language model for my research, I felt two emotions at once: awe and defeat.Awe, because the model could...
A Grad Student’s Guide to Fine-Tuning LLMs: From Brute Force to FinesseWhen I started my first serious research project, the goal sounded straightforward enough: adapt a large, general-purpose lang...