Aly Cerruti
About Me
I am a graduate student of Computer Science at University of Calgary, formerly a Computer Science undergraduate at University of California Santa Cruz. My current Master’s program involves reverse engineering of old video games that were hand-written in assembly and analyzing the human practices and patterns present in that era of games programming.
In the summer of 2025, I interned at Reken as a software developer.
Research Interests
Many of my interests involve the interaction between “levels of computation”, i.e. compilers, decompilers, reverse engineering tools, and hardware-software interactions. I like to understand the ways we translate between higher- and lower-level models, and I find it fun to use that understanding to create transformative works like modding APIs. I think it’s important to understand these tools to gain more insight on the different ways programs can be modeled.
Programming Languages/Compilers
I am currently working on designing a compiler for an OCaml-like language that outputs Hexcasting patterns. The unique challenges in this space are that Hexcasting operations are performed entirely on the stack, as well as that Hexcasting is a concatenative language, meaning recursive bindings and operations become quite complex tasks. At the moment I have yet to write formal documentation on how the language behaves, however I have made available notes that chronologically document my thinking process.
Reverse Engineering
I’ve been reverse engineering and modding games (among other software) for a while. Most recently, I’ve been working on reverse engineering the scripts used in Ever Oasis, and then I plan to move onto reverse engineering the game engine. Ever Oasis uses Squirrel scripts internally: this is the same language Valve calls VScript, but while Valve stores all scripts in plaintext format, Ever Oasis ships blobs of Squirrel bytecode. I couldn’t find any existing tools to aid in the reverse engineering process of Squirrel bytecode, so I made my own tool squirrel-explorer that uses a mix of WebAssembly and Scala.js to run the Squirrel compiler on the user’s code, disassemble an uploaded file, and compare the assembly for the user to try and match.
Hardware-Software Interactions
For a long time, I have had an interest in clockless computing, where rather than waiting for a clock signal to proceed to the next pipeline stage, CPUs process data and events as they become available. There are already companies exploring this type of design, such as GreenArrays, who are developing clockless circuits built to be energy-efficient. One of my longstanding interests is functional and streaming paradigms such as those featured in fs2 and cats-effect, and I would like to see if taking inspiration from these paradigms could lead to a more unified approach to reactive computing.
Programming Experience
I currently mainly program in Scala, and am very proficient in Java. Other languages I am able to program easily in include C, C++, C#, Rust, and Kotlin. I have experience writing TypeScript/JavaScript, Python, F#, Crystal, Lua, and Haskell. My GitHub username is currently s5bug.
Gaming
My all-time top 5 favorite games:
- Ever Oasis
- Marble Saga: Kororinpa
- Rabbit & Steel
- Celeste
- The Legend of Zelda: Ocarina of Time
One of my favorite ways to game is to be faced with the same difficult challenge for hours on end and gradually chip away at it. I can back this up with my hundreds of hours in Geometry Dash and hundreds more in Celeste. Ever Oasis also has a grind-heavy postgame, and I’m still working towards 100% completion on my main savefile.
I used to play a lot of Final Fantasy XIV: in only 2 months it became my most-played game, and it’s a game I now have spent over 2,000 hours in. I mainly played Fisher, Monk, and Black Mage, and enjoyed blind and world progression. When Monk and Black Mage were simplified in Dawntrail, I dropped them to play Pictomancer, but the continued simplification of skill rotations has taken all of the enjoyment out of the game for me. Instead, I recreated 4.3’s “Tornado Kick Monk” entirely in a Minecraft mod (alymod), which is pretty enjoyable.
Blogs, Publishings, Coursework
In addition to hosting blog articles, there are times when extending this website is better for coursework than a different tool. Q1 refers to the winter quarter or winter semester in the middle of the (American) school year, or the three months at the start of the calendar year.
2022Q2
- Japanese Culture 2022 Spring: Course Project
2022Q4
- Visual Communication and Interaction: Three Game Proposals and their Mood-boards
- Visual Communication and Interaction: Visual Directions for Flowgram
About This Website
The entirety of aly.fish
is supposed to be easily browsable without JavaScript, CSS, or custom fonts. CSS and custom fonts are used to make the website more consistent, and may be loaded by your browser. The source code is on GitHub (s5bug/aly.fish). This website was generated with Astro v5.13.7 and is being hosted via Cloudflare Pages.
You can use the following 88x31 to link to this website. As of , this SVG+CSS3 document does not render correctly in either Firefox or Safari.
<a href="https://aly.fish/"> <img src="https://aly.fish/88x31.svg" width="88" height="31" alt="88x31 for aly.fish" /> </a>