Site Introduction
Check out some of the pages of this site via the links in the header.
Links are surrounded by brackets. The type of bracket conveys the following:
| Link Target |
Internal | External |
Content Author | Me | [Square] | {Curly} |
Other | - | (Round) |
Projects
Software Raycaster
[web]
[Github]
Sep 2024 - Oct 2024
- Implemented a software based raycasting algorithm with vanilla JavaScript where parameters and the scene can be manipulated
Renovating the Labyrinth
[web]
[itch.io]
[Github]
Oct 2024
- Solo submission made in 72 hours with vanilla JavaScript on an HTML canvas for the UW Game Dev Club's fall 2024 game jam; voted winner of the technical achievement award
- Built a real time optimized ray caster with ordered Bayer matrix dithering
- Programmed 2D rigid body collision behaviour and a randomized Prim's algorithm for map generation
Bloom
[itch.io]
[Github]
May 2024 - Jun 2024
- Team submission made in 72 hours with Godot for the UW Game Dev Club's spring 2024 game jam
- Implemented colour mixing, screen wrapping, movement, and flower spawning mechanics
Interplanetary File Explorer
[web]
[Github]
[Devpost]
Jan 2023
- Visual file explorer of an IPFS written in Golang, Python, and JavaScript for the 2023 UofTHacks X hackathon; winner of the Estuary sponsor prize
- Created vector embeddings for files in the Estuary IPFS using Co:here’s NLP embeddings on file headers
- Performed principal component analysis of the vector embeddings to reduce dimensionality and be displayed interactively in 3D space with Three.js
Prognosing IPF
[CWSF paper]
Dec 2020 - Jun 2021
- Several machine learning models written to predict the deterioration of the condition of the lungs over time for patients of Idiopathic Pulmonary Fibrosis (IPF) and give a level of confidence in the prediction
- Implemented an auto-encoder, linear regression, dense neural network, and bayesian model in order to accurately predict future lung capacity and give a confidence value using initial lung capacity data, age, sex, smoking status, and more
- Obtained a Laplace Log Likelihood score of −6.9 (much better than the baseline −8.1) with σ ≈ 200mL
Presentations
Dimension of Posets and Random Graph Orders
@ University of Waterloo
1st Aug 2024
- Presentation of work completed during research term under Jane Gao
Streams and Lazy Evaluation
@ Webber Academy Programming Club
[notes]
13th Oct 2023
- An introduction to simulating infinite lists with streams and their manipulation
On the Catalan Numbers
@ Webber Academy Math Society
[notes]
11th Oct 2023
- A derivation of the closed formula for the Catalan Numbers and examples of well known problems where the Catalan Numbers appear
Introductory Combinatory Logic
@ Webber Academy Math Society
11th Oct 2022
- Introduction to combinatory logic; showing numbers and operations on numbers can be expressed as combinators
Lectures & Lessons
High School Math Competition Lessons
Summer 2023
[1] divisibilty tricks |
[2] writing solutions |
[3] pigeonhole principle |
[4] series and products |
[5] intro geometry |
[6] number bases & induction |
[7] points in a triangle |
[8] cyclic quadrilaterals |
|
Formal Education
Waterloo Undergraduate Degree
: Bachelors of Computer Science
Term |
Courses |
F ’22 |
MATH 145 |
MATH 147 |
CS 145 |
ENGL 109 |
PHYS 121 |
|
|
W ’23 |
MATH 146 |
MATH 148 |
CS 146 |
CS 136L |
ENGL 108B |
PHYS 122 |
PD 1 |
S ’23 |
COOP 1 |
PD 11 |
|
|
|
|
|
F ’23 |
MATH 245 |
MATH 247 |
STAT 240 |
CS 245E |
CS 246E |
|
|
W ’24 |
MATH 249 |
STAT 241 |
CO 255 |
CS 240 |
CS 241 |
|
|
S ’24 |
COOP 2 |
PD 10 |
CS 251 |
|
|
|
|
F ’24 |
CS 350 |
CS 341 |
CS 370 |
PHYS 256 |
FINE 100 |
|
|
W ’25 |
COOP 3 |
PD 6 |
|
|
|
|
|
Academic Self-Learning
I am still going through entries ending with &.
Operating Systems
- Operating Systems: Three Easy Pieces by Remzi H. Arpaci-Dusseau, Andrea C. Arpaci-Dusseau (book) &
Formal Logic & Programming Theory
- The Symmetric Interaction Calculus by Victor Maia (article)
- Concurrency in Go by Katherine Cox-Buday [notes]
- To Mock a Mockingbird by Raymond Smullyan
- Learn You a Haskell for Great Good! by Miran Lipovača (book)
Machine Learning, Probability, & Statistics
- Essential Statistics for Data Science by Mu Zhu
- A Course in Machine Learning by Hal Daumé III (book) &
Geometry & Graphics
- Ray Tracing in One Weekend by Peter Shirley, Trevor David Black, Steve Hollasch (book) &
- Computer Graphics from Scratch by Gabriel Gambetta (book) &
- University of Utah CS 4600 (lectures) (assignments) &
- Geometric Algebra Primer by Jaap Suter (lesson) &
- Raycasting Series by Lode Vandevenne (lesson)