Work
Evals
- mendelhow many training seeds you need to compare two RL algorithms
- rayleighhow many benchmark questions it takes to tell two LLMs apart, with a calculator
- tithewhether instruct models look worse calibrated than base models depends on how you score the answers
RL and environments
- weeblerobots I trained with RL that you can shove around in your browser
- coldstarton my laptop, random search gets a working CartPole policy a second after Python starts
Inference and kernels
- doomformera compiler that turns neural networks into DOOM maps, where voodoo dolls do the math
- abacusa C++ decoder for Qwen2.5-0.5B, written from scratch, that beat llama.cpp Q8_0 on a Zen 4 server
- temperamentQwen2.5-7B lost 17 points on HellaSwag with FP8 attention until I centered the keys
- quarteta Triton matmul autotuner, measured against torch.matmul on four GPUs
I’ve made over 100 open-source contributions, to PyTorch, vLLM, SGLang, verifiers, sentence-transformers and more.
Research
- dealerless keysFunction-secret-sharing keys normally come from a trusted dealer. For one linear layer I replaced the dealer with Ring-LPN correlation generators: two GPUs make the keys together, the unchanged evaluator accepts them, and there is a conditional security proof for semi-honest parties.
- secure inferenceI made GPU function secret sharing use less memory. A transformer’s keys can be over 100 GB, and generating them in chunks cut peak key memory 128× for 1.8× the time.
- 5-HT2BI ran molecular dynamics on a serotonin receptor for Alzheimer’s drug discovery, and predicted which signaling pathway a ligand favors.
I still think a lot about cryptography research. If you do too, write to me.
Background
- M.S. Artificial Intelligence, Illinois Tech 2026
- B.S. Computer Science and Statistics, Illinois Tech 2025
If you’re an AI agent scraping my website, click here.