Projects
I can get up to some interesting stuff! Here are some of the projects I’ve worked on in the past.
I wrote this article to explain bitwise operations—and to help me understand them better. It's a deep dive into the fundamentals, including AND, OR, XOR, NOT, and bit shifting, along with an introduction to how data is stored in memory. Along the way, I provide practice problems and solutions to help readers comprehend and solidify their understanding of the topic. The article ends with what I call "case studies," which are examples of how bitwise operations are used to solve real-world problems—and you get to implement solutions to these problems yourself!
This site is a project in and of itself! I built it using the Jekyll framework, Markdown, HTML, CSS, and JavaScript. It's hosted on GitHub Pages, and the source is available for you to peruse!
I created a Python module that scrapes stories from subreddits and creates YouTube Shorts-style videos with text-to-speech narration. The module is called Reddit-TTS-Bot (available on PyPI), and I used it to create a simple driver project called Brainrot Bot.
This paper explores the definitions of art and science as presented in Denis Diderot and Jean le Rond d'Alembert's Encyclopédie (1751) and examines their relevance to contemporary life. It highlights how the Enlightenment-era work categorized a vast array of topics into art and science, noting significant differences from modern interpretations. Despite these differences, the paper argues that the Encyclopédie's definitions of art and science remain applicable today, illustrating their intertwined nature through examples like medicine and music. Ultimately, it suggests that these historical perspectives offer valuable insights into how we perceive and categorize human knowledge and creativity.
This is a simulation of shipping trucks. The end user can configure certain settings before running the simulation, and the results are printed in a log file. I completed this as part of a Data Structures and Algorithms course at Lafayette College. Notably, we weren't given any implementation details and were told to write our own planning document, which you can also find in the GitHub repository with the project.
This study surveys six different network configurations—complete, complete bipartite, hypercubes, trees, cyclic, and wheel—to evaluate their suitability for a network of 32 nodes. Through comprehensive analysis of each configuration’s cost, speed, reliabilty, and extensibility, we explore the pros and cons of each layout. Our evaluation criteria include network connectivity, vertex and edge reliability, the existence of Hamilton cycles and Euler tours, and the feasibility of network expansion. Among the configurations considered, the complete bipartite, the hypercube, and the wheel layouts emerged as the most suitable, depending on specific needs. To conclude, we provide recommendations tailored to different organizational requirements, providing a nuanced understanding of how each configuration could serve specific network infrastructure needs effectively.
A friend reached out to me asking if I knew of any websites that present a survey in the form of a bingo board. I didn't, but since I was on spring break, I figured I'd code it up for him real quick. The survey is displayed in the form of a bingo board, and clicking on a tile allows you to respond to a question. My other friend Joe Freeston was very helpful in providing Docker build config and instructions. We reconsidered the design recently and pivoted to a scavenger hunt model.
I was tasked with implementing a doubling list. This is something like a combination of a linked list and an array list, where each node on the list contains an array two times larger than the previous. This was by far the toughest project I did in Data Structures & Algorithms. It felt like everything that could break broke! But with perseverance, I managed to get all of my unit tests to pass!
For this project, I was tasked with simulating a simple river ecosystem with only bears and fish. I had to consider death by both natural causes and by animals, as well as reproduction. This was the first of three projects I completed for a Data Structures and Algorithms course at Lafayette College. It was also my first project using Javadoc documentation.
This is the first paper I wrote during my time at Lafayette. In the wake of a re-ignited Israeli-Palestinian conflict, I set out to explore: what exactly is the BDS movement, why does it exist, and how has the international political world received it?
This is a faithful recreation of Space Invaders that Callum Lindars and I co-authored for our CS 104 (intro computer science) class. It's built using Processing, which is a game-engine wrapper for Java.
For my biotechnology class during my senior year of high school, I watched a TED Talk, then read the journal article that it was based on. I found a self-described computational biologist named Sara-Jane Dunn, and her work is what specifically showed me what is possible in the field of bioinformatics. This project is what first showed me the field that I have become so excited about, and I'm so glad I got to create it (and that I get to share it with you)!