The Matrix Has You

I absolutely loved The Matrix when it came out. I can't even count how many times I rewatched it. I used to love all the Matrix screen savers that came out shortly after and always wondered how they did it. This was a lot of fun to program and required a lot less code than I expected. As always the devil is in the details and there are a lot of knobs that can be turned to tweak how the end result looks. I'm satisfied with how it turned out! Credit goes to The Coding Train for the great tutorials.

Maze Generation and A* Search

Lately, I've been having a lot of fun putting this maze generator/A* search program together. It's really enjoyable visualizing the algorithms as they loop through each iteration. So much so that I'm going to be doing a whole series of these based on various algorithms and data structures. My initial working implementation was using plain Javascript and canvas, but I've updated it to use the ps5.js library which will be useful later on when I get to some more advanced algorithms.

The program allows you to test various settings for maze generation including cell size and how often the algorithm will connect through when it encounters a dead-end and has to backtrack. I added the ability to download and upload saved mazes since the smaller cell sizes can take quite a long time to generate and I wanted to be able to test A* against them (and hopefully some other search algorithms soon) later on. Once a maze is generated, each time you click Solve Maze it will generate random starting and goal points. You can also pause/unpause the algorithm as well as adjust the frame rate for how fast it updates.

Keep an eye out for more updates soon!

Huge shout out to The Coding Train for getting me interested in visual algorithms and ps5.js!

Personal Portfolio/Blog

Personal Portfolio/Blog

This website. I've had many iterations over the years, but I settled on this design and have been really happy with it for now. It was my first project using Python/Django and I used it to learn the framework and to learn testing out various security measures such as a honeypot field to prevent bots from spamming, learning how to set up HTTPS, etc. It's been a lot of fun. I've also used it as a place to write and post about things that interest me.

My current work on this site is migrating over to a Rust/Rocket implementation. Updates coming soon!