Welcome to my page. My name is Ashton, I'm a software developer passionate about whatever "systems programming" entails these days. Broadly, I'm a hobbyist emulator developer, operating system developer, programming language designer, and FOSS advocate. This page spells out relevant things about myself for people investigating me in a professional sense.
Vivint - Firmware Engineer Intern. On Vivint's camera firmware team, I manage our build system involving technologies like the Yocto Project, Cargo, etc. My main big task was integrating and configuring new SDKs into our firmware in order to allow more device visibility with Memfault.
Student at the University of Utah - CompSci major, projected to graduate Spring of 2025 with a 3.9 GPA. During my time here, I've become close and worked as a TA for outstanding professors like Matthew Flatt, the Godfather of Racket. You can find projects for different classes on my school-projects repository. Please note, though, for academic conduct reasons, not every cool project I did is available there. If you want to hear about other things I did in college, like memory allocators, web servers in C, HTTP proxies in python, and various kernels, please do not be afraid to send me a message.
rite-emu - a CHIP-8 emulator entirely in Rust.
bggb - a Game Boy emulator. Since the Game Boy has so many moving parts, and a wide variety of games to support, this will always be a work in progress. But it currently functions quite well for what I've done with it.
0xDEADCAFE - A toy kernel (in C and assembly) with big goals. Basically, the eventual goal is "hyper-modularity" in that most everything should be allowed to be overriden by a kernel module. The practicality of this is yet to be seen, but I thought it was a fun idea, and you can see my progress on my blog.
apemode - a POSIX shell entirely in Rust.
kipi - a password manager. Using rust, postgres, docker, tokio, and other things you can find in the repo. This project was mostly for an ability to say that I've made at least one basic CRUD app the whole way through by myself, and a small amount to start a kind of custom SQL injection challenge. You can see more about that challenge in the readme.
rustkern - A basic kernel in Rust.
I've contributed to a few open source projects, namely Rust, and the Linux kernel. I love these projects, and no matter how minimal a change can be to still be considered a "contribution", I love giving back to their awesome communities.
Contact me on Discord or by linking with me on LinkedIn