Blog
Orchestrating LLMs to Write Diverse Stories with Quality Diversity through AI Feedback
August 12, 2025
A tutorial in the pyribs library.
Exploring Deceptive Mazes with Novelty Search
June 26, 2025
A tutorial in the pyribs library.
Incorporating Human Feedback into Quality Diversity for Diversified Text-to-Image Generation
March 14, 2024
A tutorial in the pyribs library.
Scaling CMA-MAE on the Sphere Benchmark
December 16, 2023
A tutorial in the pyribs library.
Generating Tom Cruise Images with DQD Algorithms
February 22, 2023
A tutorial in the pyribs library.
Upgrading CMA-ME to CMA-MAE on the Sphere Benchmark
February 22, 2023
A tutorial in the pyribs library.
Matplotlib Figures and File Formats
May 27, 2022
What's the best file format for saving that magnificent figure you just made in Matplotlib?
Running Distributed Quality-Diversity Algorithms on HPC
February 17, 2021
Tips and tricks to avoid a world of pain.
Generating Images to Fool an MNIST Classifier
February 5, 2021
A tutorial in the pyribs library.
Illuminating the Latent Space of an MNIST GAN
February 5, 2021
A tutorial in the pyribs library.
Learning a Repertoire of Robot Arm Configurations
February 5, 2021
A tutorial in the pyribs library.
Using CMA-ME to Land a Lunar Lander Like a Space Shuttle
February 5, 2021
A tutorial in the pyribs library.
CPPN Image Generator
December 17, 2020
Generate abstract art in the browser.
Applying to Grad School
July 25, 2020
Tips for those pursuing a Ph.D. in CS.
N-Queens
June 6, 2020
Visualize a brute-force search for solutions to the n-queens problem.
Integer Replacement
January 13, 2020
LeetCode problem 397.
Website History
December 25, 2019
A brief history of my personal website.
Tic-Tac-Toe
April 8, 2019
A tic-tac-toe game built with vanilla JS.