TetanesNES - An NES Emulator written in Rust

TetaNES is an emulator for the Nintendo Entertainment System (NES) released in 1985, written using Rust and SDL2.

It started as a personal curiosity that turned into a passion project to demonstrate a proficiency in Rust and in digital sound production. It can play most games but is still a work-in-progress. I hope to transform it into a fully-featured and performant NES emulator. It is my hope to see a Rust emulator rise in popularity and compete with the more popular C and C++ versions.

TetaNES is also meant to showcase how clean and readable low-level Rust programs can be in addition to them having the type and memory-safety guarantees that Rust is known for.

You can check out the code on Github.

photo credit: Cerberus via Zsolt Palatinus copyright


Haskelltaire is a simple 1-card draw game of Solitaire played from the command line written in just 500 lines of Haskell. It was done as part of a class project in functional programming and highlights how powerful and terse functional programming can be. The PlayingCard library can be easily adapted and generalized to allow the creation of many other card games.

A Bell 103 Demodulator

This was done as a class project and is the basic start to implementing a full Bell 103 modem. Currently, only the demodulating portion is implemented and is not fully featured.

It is currently capable of decoding 48000 kilosample/s 16-bit single-channel WAV files in little-endian Microsoft PCM format. The file contents must be encoded using the answering frequencies of the 9N1 Bell 103 protocol at 300 bits per second. The bytes must also be packed tight with no lead-in or filtering.

There are options for changing the sampling rate, and filter length as well as using the origin frequencies instead of answering but these have not been tested.


This was a class project that implements a basic IM application with Java using a basic multi-threaded client/server protocol. Users can register, login/logout, and chat individually with other users or broadcast messages out to all other users currently logged in. It's a very simple application as a proof of concepts and has not been robustly featured or tested.

UM-Flint Environmental Science Club Website

UM-Flint Environmental Science Club Website

When I was attending the University of Michigan-Flint for a few years and majoring in Environmental Science, I became heavily involved in the Environmental Science Club. There wasn't a lot of members or general interest at the time, so I ended up being Vice President and maintainer of the club website. The existing website was incredibly dated and hard to maintain, so I designed and developed a new website. It's very dated by today's standards, but it served its purpose well to keep members up-to-date on club activities and local environmental news.


Website, Game, p5js