Digital Garden
The notes, thoughts, and projects I've been working on.
Planning and Learning in Markov Decision Processes
Value Iteration and Policy Iteration on small vs. large MDPs, plus a model-free learner with exploration strategies.

Unsupervised Learning and Linear Dimensionality Reduction
K-Means and EM clustering on raw and reduced spaces (PCA, ICA, Random Projections), plus the impact on a downstream neural classifier.

Randomized Optimization on Discrete Landscapes and Neural Networks
Exploring randomized hill climbing, simulated annealing, and genetic algorithms across discrete fitness landscapes and as alternatives to backprop for neural network weight search.

A Practical Guide to Supervised Learning
A conceptual walkthrough of the supervised learning process, covering data analysis, model evaluation, and the fundamental trade-offs involved in building effective classifiers.

Machine Learning
A survey of concepts covered in my graduate Machine Learning course

Reflections on ICML 2025
Some notes and observations from my time at the 2025 International Conference for Machine Learning (ICML)

Concurrency and Parallelism
A dive into concurrency and parallelism across different levels of computer systems

Syncing Up: Building a Distributed File System in C++
A deep dive into the challenges of remote communication and data consistency, inspired by systems like Google Drive.

IPC in Action: Building a High-Performance Proxy & Cache
A dive into a project that explores IPC and synchronization in C

Building a Scalable Multithreaded File Server in C
A project that explores multithreading, sockets, and the basics of operating systems

Graduate Introduction to Operating Systems
What I Learned in Graduate Introduction to Operating Systems (GIOS) - A Retrospective

Master of Science in Computer Science
From biomedical engineering to machine learning: my journey through Georgia Tech's MSCS program

Semantic Search
What's an embedding vector, and how can we use neural networks to improve the relevance of search results?

Knowledge Debt 💸
Tech debt, knowledge debt, and the kitchen sink.

Language Models
From n-grams to ChatGPT, how language models work and how they can be used to solve real-world problems.

Search Engine Fundamentals
Essential terms and concepts of how search works. Queries, indexes, & relevance.

Bitwise Operators on Python Set and Dict
Bitwise or getting a bit wise? Quick post on quirky Python syntax for working with sets and dicts.

Exponential Backoff and Jitter ⏳
How to automaically retry requests and not blow stuff up

The Hack Virtual Machine
Creating a virtual machine translator for the Nand2Tetris course

A foray in Digital Gardens 👨🌾
Planting the seeds of my own digital garden

From Boolean Logic Gates to an Assembler
The first half of the Nand2Tetris course

Git Stash, save work for winter 🐿
Quick tips for using git stash.
