Programming Language Design
Fixed-point Parser Framework
- OCaml
A parser framework that handles left-recursion and ambiguity using the mathematical concept of fixed points. This project was a part of research I did at BYU.
March 2025
Tego Typechecker
- Coq
A typechecker for Tego with proofs incorporated. This helped me to explore the idea of adding typechecking to Tego.
December 2024
JS Subset Interpreter
- OCaml
An interpreter for a subset of JavaScript.
March 2024
Designing a Gradual Type System
- Research
A literature review on gradual typing. This paper discusses implementation details of gradual typing, such as type enforcement and type errors.
June 2023
Tego Language
- Rust
A dynamically-typed functional programming language with linked lists as first class members.
December 2022
Web Design
Wedding Invitation
- HTML/CSS
- JavaScript
- OCaml
A wedding invitation website that includes directions, RSVP, and a registry link. Note the responsive design and the ability to print an invitation in a standard 5x7 inch format.
June 2024
New Testament Doctrines
- HTML/CSS
A list of policies and doctrines from the New Testament, organized by book. This project was a final project for a religion class.
April 2023
Cybersecurity
RingZer0 Writeups
- Assorted
A collection of writeups for RingZer0 CTF challenges.
December 2023
CS 465 Projects
- Assorted
A collection of projects from my CS 465 course.
December 2023
Secret Extraction with GDB
- GDB
A project that uses GDB to extract secrets from a binary.
November 2023
Password Cracking
- John the Ripper
An explanation of how to use John the Ripper to crack passwords of varying difficulties.
November 2023
Hash Attack
- Rust
R
An analysis of the collision and pre-image attacks on the SHA-1 hash function. This includes an implementation of each attack and a discussion of the results.
September 2023
AES Encryption Implementation
- Rust
An implementation of the AES encryption algorithm in Rust. The implementation is based on FIPS 197.
September 2023