Projects

Table of Contents

Projects

The bulk of the content on this website contains what I consider to be larger projects of mine, scattered around a number of different topics. It might be somewhat too much to navigate naively, especially if you are not interested in one topic or another. As a result, I maintain this page, which is a sort of "highlights reel" of what I consider to be some of my best work across various topics.

To be slightly more precise, I consider this page to be a representative sample of what "good work done by Eryk" means, rather than a list of my 10ish best projects. I figure this makes it more useful than just a resume since most people aren't usually interested in digging around the projects in a resume anyways. If you want to get to know me, and you ask me to show you something cool I did, these represent some good things I might show you.


Understanding Modern LLMs via DeepSeek

20240614_213621.png

My professional work primarily revolves around Machine Learning, where my background is mostly in computer vision and language modeling. In this blogpost, I do a literature review walking through the entire body of DeepSeek's LLM papers, which details the journey from roughly Llama 2 performance to roughly Llama 3 performance. I made this as an intense survey of Large Language Modeling literature, intended to bridge the gap between "knowing transformers" to "understanding modern LLMs".


Target Domain Data induces Negative Transfer in Multi-Source Classification under Category Shift

negtransfer.png

In this work, we demonstrate that if training data is comprised of multiple domains split per-class (e.g. some classes have domain A, and other classes have domain B), then you will notice significantly hindered performance if one of those domains is the target domain. This is because the network learns to take an "intermediate shortcut" which does not go all the way to the class label (as studied in most shortcut learning papers), but rather narrows down the choices before making a decision. We show that this effect persists even when training with state-of-the-art domain adaptation techniques, suggesting it is a setting warranting further study.


LASTDANCE: Layerwise Activation Similarity to Training Data for Assessing Non-Confirming Events

trajectoriesresnet.png

I am currently enrolled as a part-time Masters Student, and so I do some more academic-focused work in addition to my more directly work-relevant tasks. One such work is LASTDANCE, which was a short research paper I wrote for a class (with a very general "write a research paper" prompt). In this work, I develop an anomaly detection method which works in scenarios where out-of-distribution points will overlap with in-distribution points (e.g. monte carlo dropout), making it unsuitable for both feature- and label-based methods. The pre-preprint can be found here, and the code is available on github.


Auto-Rating ITG Stamina Charts with Machine Learning

umap_3feat.png

I do machine learning in my free time, as well! In this project I used some straightforward classical ML techniques, as well as sequence-to-one models (RNN, LSTM) in order to automatically rate the difficulty of ITG Stamina charts, a 4 panel dance rhythm game similar to Dance Dance Revolution. Code for this project is available on github.


Input Latency Detection in Expert-Level Gamers

latency.PNG

My Cognitive Science Senior Thesis at Yale University was a visuomotor perception experiment in which I exposed tournament-level SSBM players (including some top-100 world-ranked players) to precisely timed flashes of light using an arduino microcontroller in order to test their ability to blindly determine the presence of input lag compared to a control group. SSBM tournament matches are all held on CRT Televisions, since even the fastest LCD monitors necessarily add delay in between your input and the picture being displayed, effectively slowing down your reaction time. This has led to certain players to claim they could notice input lag, even at single-digit-millisecond levels. This experiment found a large and significant difference in perceptual ability between tournament-level gamers and a control group, and suggested the existence of such a perceptual effect to be somewhat plausible. A slightly abridged version with additional commentary can be found here.


Making Sense of Melee: The Illusion of Objective Ranks and the Real Impact of Everything

winrates_good.png

Aside from academic work, I've also done some statistics and data visualization work within the Melee Community under the broad Melee Stats umbrella, for which I am Creative Director. The most prominent of these is Making Sense of Melee - a longform statistics writeup in which I explore a variety of topics, including flaws in popular ranking algorithms, the accuracy of seeding at national tournaments (a topic I was interviewed by ESPN esports about in 2017), and probabilities to win against players at differing skill levels. The post received more than 50,000 hits, reaching #6 on Hacker News.


Plup vs Prince Abu - The Weirdest Set Ever Played

thumbnail.png

You will occasionally see my name in longform video content, also, where I am probably most known for this video about one of my favorite sets of Super Smash Brothers Melee. The video currently has over 300,000 views on YouTube at the time of writing, and kickstarted our channel, which now has over 25,000 subscribers.


Michael vs Bananas - The Only Reason We Play Melee

thumbnail_2.png

A co-project I did with my good friend GimmeDatWheat. This particular set is very famous for the fact that in game 2 neither player played the game at all. We decided it would be good to make a video about the construct of community-defined rules in competitive gaming, and about why people like playing this game at all in the first place.


Bracket Stamina: Inferring the Intent of Other Agents in a Multiplayer Kelly Coin Flip Game

bracketstam.png

In this work, we outline a multiplayer variant of the Kelly Coin Flip Game, which requires a player to guess the opponent's wager and conserve as many resources as possible. We train a Deep Q-Network to play this game, and substantially outperform a policy which selects a random value to wager. We test this with human players and find that it plays at about average compared to human players playing for the first time, suggesting that a competent social agent may have an advantage at this game compared to a player with no conception of the other player's intent. Code can be found here.


Rubik's Cube 3x3 Blind Memorization Trainer

scramble.png

I have a passing interest in Memory Sports, and I used to do a lot of twisty puzzles in my younger days. I never learned to solve a 3x3 blindfolded, so I wanted to build something where I could learn it by isolating memorization and execution steps. So, I built this super simple app with Flask. Rather than inputting the moves, you input the letter pairs from this tutorial which will automatically apply the correct moves to the virtual cube. Code is available via github.


Predicting Personality with Playstyle in Super Smash Brothers

extraversion_cool.png

To get to the bottom of the very common hypothesis that playstyle in Super Smash Brothers correlates in some meaningful way with personality, I conducted an informal survey which administered a Big Five Personality test alongside questions about in-game variables like playstyle or character. After 1754 participants (!) completed the survey, I found a modest but significant relationship between some factors and playstyle question responses.


GameCube Controllers in the Era of SmashBox

results2.JPG

In which I wired tact switches to precise analog values on a GameCube controller to emulate SmashBox functionality without sacrificing analog control or previously built muscle memory. The video I made for this project proved extremely controversial, amassing 10,000 views on YouTube and over 200 comments on Reddit.


Optimizing Health with Cronometer

weightloss_1_2017.png

Chronicles my 40-lb weight loss near the end of my undergraduate life. To accomplish this goal (which took only a few months), I read a number of papers in nutritional science, synthesized a game plan, and measured every single piece of food I ate for several months to assess the validity of my approach. I tracked my food intake using Cronometer and adhered to a calorie counting regime for a short while, and at the end made some charts based upon my weight over time and the foods I ate. In the end I lost weight at a constant rate, with the linear regression's R-squared resulting a staggering 0.98, despite not adhering to any specific macronutrient balance.


Zen in the Art of Ping Pong The Animation

fly.png

I analyze Zen themes in the storylines of cult classic sports anime Ping Pong The Animation. If you're more about my empirical projects, this might not be quite up your alley. However, if you've seen the show I'm confident this essay will shed some interesting perspective on it, and if you haven't seen the show then I'm confident you're missing out on one of the best pieces of media ever made.


Some smaller projects and writings of mine are scattered around this website, since I use this website as a sort of journal / garage / desk-with-papers-scattered-all-over it. You can find more about me over at the About page, you can find my Resume Here, and you can keep up with what I'm up to over at the Links page.

And, as always, more to come soon!

Back to Top