A solution for many EV users: Accessing any web link on your vehicle's console without have to type it. Create your own secret token and use it to access your link on any device. One-click solutions to share links from your iOS and Android devices to your vehicle. Live Version Source Code
EV Cost Breakdown
Compare how your EV charging costs compare to a owning a gas vehicle. Calculate the breakeven points where owning an EV is more or less expensive for daily use. Live Version Source Code
Video and Audio Live Streaming platform for BobcatSports
Developed a full-fledged live streaming platform for Bobcat Sports from Radford, VA. Worked as a team to create a full stack system for live sports, events, and podcast streaming with live score updates and notifications. The MEAN (MongoDB, ExpressJS, Angular, and NodeJS) stack was used for this project. I took advantage of AWS CloudWatch, CloudFront, EC2-based load balancing to dynamically scale server capacity based on viewer demand for smooth streaming and cost-saving during idle hours.
Dynamic storage allocator
This is a dynamic storage allocator implemented using a segregated free list. The API is fully functional with the ability to malloc, free, and realloc memory a program to be able to use. This API is a functionally identical memory allocator to malloc from stdlib.h, however, with improved performance.
Simplified HTTP Web Server
This is a simple web server written in C from the ground up. The web server application can serve static files, handle JWT cookie based authentication, and MP4 streaming. This includes, but not limited to, but is not limited to: sending correct MIME-types for most major file types, correctly handling Content-Range headers for streaming, IPv4 and/or IPv6 support, and HTML5 fallback mode. The application has also been updated to handle HTTP/1.1 and HTTP/2 requests. The server is designed to take advantage of multithreading to ensure fast response to multiple concurrent users.
This is an easy-to-use multithreading API that any existing program can use to add basic multithreading capability and its performance improvements quickly and easily. This is a fork-join thread pool, which will set up several workers who will keep track of their own and other worker’s pool of jobs. Workers will work through their own list of jobs before stealing jobs from other workers instead of staying idle. The list of jobs is implemented using a LinkedList.
A very simple java program that can organize two of the most common biological DNA and RNA sequences into a tree. The tree is a custom designed data structure that can support insertion, removal, traversal, and printing.
Buffered External Binary Data Sorting
This java program can sort a binary file containing records of 4 bytes, represented as a key and a value, each taking up 2 bytes. The program will apply the Heapsort algorithm to sort the data, and all data access will be made through an LRU (Least-Recently Used) buffer to minimize disk reads and writes. The program follows standard OOP and documentation procedures.
User Customizable Shell
This program implements a custom shell prompt, complete with job control, signal handling, pipes, I/O redirection, and exclusive terminal access. The behavior is very similar to /bin/bash, however, it was built from scratch. Users also have an option to quickly customize their prompt to their personal desire using basic on-screen commands. The program frees all memory upon exiting and is leak-free.
Big Number Arithmetic
This is a java program to correctly process simple math operations on number larger than 64-bit. The program uses a LinkedList to keep each digit of the input number in reverse order and then apply basic operations on each number as we learned in elementary school. The operations currently supported are addition, multiplication, and exponentiation. The input must be supplied into the program through a text file in Reverse Polish notations (RPN).
Business Revenue Reporting
This project is an internal tool used by the business, there is no public access.
VT (Easy) Class Search
A website to enable faster search into Virginia Tech's class timetable. Live Version Source Code
Culdesac is a brand initiated in Vancouver, BC, Canada which showcases inspiring artists and a clothing brand showcasing the Culdesac brand. Live Version Archived Version
A business working to create a chain of amazing convenience store in the Roanoke Valley area. Live Version