A single threaded operating system framework for the 80x86 architecture.
Custom Web Framework
A library of classes and functions implementing and augmenting the HTTP and Websocket protocols.
Image Sharing Site
A simple image sharing site that utilizes the web framework that I personally created.
Reddit Content Scraper
A web scraper using the beautiful soup library that scrapes the post contents of a user on reddit.
Raft Distributed Consensus
A Go language implementation of the Raft distributed consensus algorithm.
NCAA Championship Classifier
Ranking the most important statistics among NCAA championship qualifying basketball teams over the last decade.
Sixerr
A poster displaying Sixerr. Presented at UB demo day.
Logging into Sixerr.
The various Gigs available for purchase.
Sixerr's search feature.
Description:
A marketplace site for the Gig Economy. Inspired by Craigslist and the laissez-faire attitude the site had towards items and services it sold, the project's goal is to create a site that is open ended with the products and services sold, while enabling sustainable local commerce.
Featured at the University at Buffalo's 2023 Demo Day!
A page for creating gig listings as a person or business in need of a service.
A website account that can be used to manage the gigs a person is doing for someone else and the gigs that they themselves are requesting someone to perform.
A page for exploring all of the Gigs available on the site.
A search feature to find relevant gigs.
A profile page that facilitates communication on other sites like discord or instagram.
Moderation accounts to remove inappropriate posts.
Pintos Operating System
A diagram displaying the various features added by students who program on the pintos project.
Bochs simulator simulating Pintos, shown are 5 threads sleeping.
Pintos running a user program.
The text editor I used on the project.
Description:
A single threaded operating system framework for the 80x86 architecture. This project was done with a team of college classmates. The base code was written by Ben Pfaff, supporting only basic operating systems tasks like FIFO thread scheduling, boot support, and basic peripheral support.
A priority queue thread scheduler for the Pintos operating system to prevent thread starvation, improve CPU throughput, and enable efficient thread switching.
A syscall handler for the Pintos operating system allowing user programs to invoke kernel system calls.
Virtual Memory support: an on demand paging system which enables segments of large programs to be swapped between ram and disk.
Custom Web Framework
Code Snippet from the Request Class.
Code Snippet from the Cookie Processing Class.
Code Snippet from the websocket API.
HTML templating API that enables server side rendering of HTML pages.
Description:
A library of classes and functions implementing and augmenting the HTTP and Websocket protocols.
A Scala class that enables the instantiation of an object that contains the fields and payload of an HTTP message sent over a TCP connection. The class supports buffering of payload messages (appending multiple messages from a TCP stream) for large file uploads.
A Scala class that enables the instantiation of an object that contains the cookies of an incoming HTTP request and the cookies that should be sent in an outgoing HTTP response.
An API for parsing websocket data sent over a TCP connection.
An API for building HTTP response messages.
Image Sharing Site
Images shared on the homepage
Successful image submission
A snippet from the database used for this site.
Description:
A simple image sharing site that utilizes the web framework that I personally created. Complete with a fully functional server and database. Currently the site can be run locally using docker. An actual deployment is in progress…
The site allows for large image uploads, posts, comments, user accounts, and a global chat feature.
Reddit Content Scraper
Reddit
Description:
A web scraper using the beautiful soup library that scrapes the post contents of a user on reddit. Run the program using a CLI. The app is still in progress.
A raft leader routine. Run concurrently in a Go routine.
A candidate routine. Run concurrently in a Go routine.
A follower routine. Run concurrently in a Go routine.
The go thread that starts up the dance between leader, candidate, and follower.
Success!
Description:
A Go programming language implementation of the Raft distributed consensus algorithm. Raft is a protocol for managing the data of replica servers, if a replica server fails but later recovers, Raft brings the replica server’s data up to date.
The dataset analyzed which was acquired from Kaggle.
NCAA tournament background.
Confusion matrices comparing two different classifier algorithms.
The correlation matrix genereated by running logistic regression on the dataset
Statistics relevant to the University at Buffalo.
Description:
A data science project where I used statistical models and python to rank the most important statistics among NCAA championship qualifying basketball teams over the last decade. An analysis of the difference in the most important statistics for lower budget schools, schools in the early 2010s, and in the late 2020s was made. The goal of the project was to analyze the statistics that have historically been important to the different demographics of NCAA basketball teams.
Cleaned datasets acquired from kaggle about college basketball statistics.
Utilized the scikit-learn, pandas, and numpy to compare the performance of logistic regressions, decision trees, k-nearest-neighbors, and support vector machines in classifying whether a team will qualify for the NCAA Championship.