Languages:
Most fluent
Java, Python, Javascript, C++, Arduino C
Web Languages and Libraries:
HTML, Javascript, CSS, PIXIJS, P5JS
Languages I dabble in:
Processing, Assembly (MIPS), Perl, Bash, Quartz Composer, AutoHotKey, Batch Scripting (.BAT?, DOS?)
Graphical Languages:
Quartz Composer, Scratch
Projects
HackUMBC, 2020: bubblz.space
bubblz.space is peer to peer zoom competitor, made in 24 hours on a team of three for the HackUMBC
hackathon. It was built using web technologies including WebRTC, PeerJS Javascript, HTML, and CSS. The
advantage bubblz.space has over other video sharing software is the concept of “the bubble.” Bubbles are
like public breakout rooms. When you go into a bubble you can only hear people who are talking in your
bubble. Going in and out of bubbles is as easy as dragging your video feed to whichever bubble you want!
This is nice because a professor or TA can see everyone in the class, even when in breakout rooms to more
easily gauge how well the class is doing on the discussion or assignment.
The site was/is (as of November 2020) live at bubblz.space
Note that it may only work in Chrome and Edge
CSCI306 Software Engineering, 2020: Campus Themed Clue Game
An accurate reconstruction of the board game Clue with a new campus themed map, bad sound effects, fun
music, and pictures.
The game was written in a team of two using OOP principles and test driven development in Java. The final
product is over 4000 lines of code.
Random Quarantine Project, 2020:
Procedural Interactive Pixel Art Kaleidoscope
See the Pen
Procedural Interactive Pixel Art Kaleidoscope by Shane (@Thisisntme)
on CodePen.
I made this in my spare time over the summer of 2020 while hiding from the rona with my family. The image is
generated from a strange modified iterative XOR function. Each coordinate is passed through
3 instances of the XOR function, one for the hue, saturation, and lightness. Based on the current FPS, the
program
dynamically changes the number of pixels rendered. The Kaleidoscope effect looks cool, but also serves to
increase the framerate by reducing the number of calls to the XOR function
as my iterative XOR function is not particularly efficient.
Science Fair: Using neural networks to monitor parking lots, 2019
This project was born out of the struggle of finding a parking spot at the airport (pre pandemic).
I wondered if there was a simple solution to driving by endless rows full of parked cars.
My first thought was to have a fleet of drones that fly above the lot every half hour or so and direct users
to empty spots with laser pointers, or through a cellphone app.
After thinking about it for a while I decided to ditch the moving parts and just mount the camera to light
posts that are often found in parking lots
as an easy way to get high elevation without needing to deal with drones.
A Raspberry Pi was used as the camera to collect images and I used Tensorflow to identify parked cars. Market research on existing
solutions revealed that most solutions cost over $100 per parking space. My solution is over 100 times cheaper for
50 or more parking spaces and has minimal installation costs.
I took my project to the Regional Pennsylvania Junior Academy of Science, got first award, and then went on to win
first award at the state wide competition as well. I also presented at PRSEF, the Pittsburgh Regional Science &
Engineering Fair, and won a sponsor award.
I really enjoyed teaching myself how to set up tensorflow for use in a real world scenario as well as learning
how to set up and use a Raspberry Pi.
Here are the links to my
poster board and my
presentation.
CSCI101/CSCI261, 2019: 3D Space Flight Simulator / Procedural Planet Generator
Using the 3D engine I built in 2017, I built a space flight simulator demo in Python. For this project I
also built a procedural planet generator that creates 3D planets with a specified level of detail.
I use an algorithm that maps a 2D plane to points on a sphere and then I use random noise to plot points on the
planet's surface and to generate peaks and valleys. I also created a simple file type to store the 3D data
and you can import and export 3D planets very easily inside of my planet generator.
15-112 Fundamentals of Programming & Computer Science at Carnegie Mellon, Summer 2017: 3D Arcade Game
I built a 3D engine and implemented it in my own arcade game as the final project for 15-112, the intro to programing course at
Carnegie Mellon University. The game is an infinite runner game where you play as a cube inside of a cubic snow globe.
Your character can move left and right as well as jump to avoid obstacles. If you rotate the snow globe while dodging an obstacle
you get points based on the speed that you are rotating. However, as you dodge more obstacles, the rate at which they move increases, making
your odds of avoiding them significantly worse. My game won the award for the best term project in the class.