My name is Garrett Gu, and I am a student at the University of Texas at Austin and a member of the Turing Scholars Honors Program, majoring in Computer Science and Mathematics. Welcome to my home on the web!
This website was designed and built entirely by me, with no libraries, frameworks, or templates except Anime.js. Feel free to take a look at the source code! It is completely unminified.
My resume is available here.
OOPBoy is a highly-accurate emulator of the Nintendo Game Boy™, written entirely in Java by me and a friend.
It has been confirmed to work with dozens of games, including classics such as Tetris, Super Mario Land, Pokemon Red & Blue, and The Legend of Zelda: Link's Awakening.
OOPBoy has all the basic features you'd expect from an emulator, such as display filters, save-states, and sound. However, it also includes unique features such as rewind, "turbo" mode, and an easy-to-use ROM debugger with breakpoints, core dumps, memory manipulation, and instruction history.
The entirety of this project's source code and executable binaries are available for download here.
TetrisBrain is a genetic algorithm trained for long-term survival, built on top of the Tetris assignment in Dr. Calvin Lin's Honors Data Structures course. The Tetris engine, as well as the genetic algorithm and trainer, were written in Java.
After around two hours of training, it can survive for up to 200,000 tetrominoes, with great average-case performance as well.
... and many more! Dozens of my personal projects are hosted on GitHub.