Generative Modeling
Variational Autoencoder architecture diagram showing encoder, latent space, and decoder

Modern PyTorch VAEs: A Detailed Implementation Guide

A complete guide to implementing modern Variational Autoencoders in PyTorch. Includes a copy-pasteable implementation, explanation of KL annealing to fix posterior collapse, and a deep dive into stable standard deviation parameterizations.

Scientific Computing
Molecular structure alignment showing protein conformations and RMSD calculation

Kabsch Algorithm: NumPy, PyTorch, TensorFlow, and JAX

Learn to align molecular structures and point clouds using the Kabsch algorithm, with differentiable implementations for modern ML frameworks.

Scientific Computing
Comparison of IQCRNN (Our Method) vs standard Policy Gradient showing training curves, phase portraits, and state trajectories for control tasks

IQCRNN: Certified Stability for Neural Networks

A PyTorch implementation enforcing strict Lyapunov stability guarantees on recurrent neural network controllers through Integral Quadratic Constraints, bridging 1990s robust control theory with modern deep reinforcement learning by solving semidefinite programs inside the gradient descent loop to provide mathematical certificates of safety.

Natural Language Processing
Heatmap visualization of the EigenNoise analytical co-occurrence prior matrix showing word rank relationships

EigenNoise: Data-Free Word Vector Initialization

We develop EigenNoise, a zero-data initialization method for word vectors that synthesizes representations from Zipf’s Law alone, demonstrating competitive performance to GloVe after fine-tuning without requiring any pre-training corpus.

Machine Learning Fundamentals
Vintage slot machine with multiple arms representing the multi-arm bandit problem in machine learning

5 Axes of Multi-Arm Bandit Problems: A Practical Guide

Key dimensions that have helped me understand multi-arm bandit problems: action space, problem structure, external information, reward mechanism, and learner feedback.

Machine Learning Fundamentals
NEAT genome encoding diagram showing node genes and connection genes with innovation numbers

A Guide to Neuroevolution: NEAT and HyperNEAT

Discover how NEAT and HyperNEAT changed neuroevolution by automatically designing neural network architectures and scaling them through geometric patterns.

Scientific Computing
Cartesian Genetic Programming graph showing input nodes, function nodes, and output nodes with active and inactive connections

Cartesian Genetic Programming in Julia

A sophomore year exploration of evolutionary algorithms applied to Atari games, implementing NEAT-inspired speciation mechanisms for Cartesian Genetic Programming to protect topological innovation while introducing custom crossover operators (subgraph, aligned-node) for evolving neural network policies.

Generative Modeling
Illustration of GAN training process showing adversarial competition between generator and discriminator

Understanding GANs: From Fundamentals to Objective Functions

An in-depth guide to GANs: how two neural networks compete to generate realistic data, the math behind it, and the evolution of objective functions that stabilize training.

Scientific Computing
Radix-2 DIT butterfly diagram showing the fundamental FFT operation with twiddle factor multiplication

FFTW Compiler in Haskell

A sophomore year deep dive into functional metaprogramming, replicating FFTW’s genfft metaprogram logic in Haskell to generate straight-line optimized C kernels for FFTs, using symbolic DAG representation and algebraic simplification to understand how abstract algebra translates into efficient machine code.

Scientific Computing
Flowchart diagram showing the recursive backtracking algorithm for constraint satisfaction in schedule generation

Term Schedule Optimizer

A freshman-year automation tool solving the university scheduling constraint satisfaction problem through web scraping Drexel’s Term Master Schedule and implementing recursive backtracking algorithm to generate every valid schedule permutation satisfying user-defined hard and soft constraints, used throughout undergrad 2016-2020.