Skip Around
About
Written in C, I created an implementation of Malloc to
cement the ideas of dynamic memory allocation during my
Introduction to Systems Course (15-213). Because of this, my
code is not publicly avaiable on my personal Github. If you
are interested in the code, please contact me here:
gxgao@andrew.cmu.edu
My implementation follows a better-fit algorithm, and utilizes
a combination of segregated free lists, implicit lists and
doubly linked lists in order
to acheive a good balance between througput and memory
utilization.
The implementation utilized header and bit manipulation to
support miniblocks, allowing for payloads of 8 bytes in size.
Metadata stored in the headers also allowed me to coalesce
blocks during free operations as well as splitting free blocks
during allocation in order to improve memory
utilization.
About
Written in C, I created an implementation of a proxy server to
cement the ideas of network programming and multithreading
during my Introduction to Systems Course (15-213).
Because of this, my
code is not publicly avaiable on my personal Github. If you
are interested in the code, please contact me here:
gxgao@andrew.cmu.edu
My implementation supports HTTP Get requests only.
The implementation utilizes network programming ideas
connecting clients to sockets, listening to servers, and
more.
It utilizes multithreading with pthreads in order to service
multiple clients at a time. In order to keep the code
race condition free, mutexes were used to lock access of
common resources.
Common resources mainly consisted of a LRU cache, that cached
client's request.
About
The program is a simple Stock Analyzer. It web scrapes for stock info and graphs it in a custom built tkinter graphing interface. It also has the feature to use multivariate regression to build a linear, and a polynomial regression model with time as the x-axis and price on the y-axis (The idea is to find trends over time). Additionally, it pulls, from the web, stock fundamentals (p/e ratio, volume, ROA etc.) so that they can be easily accessed. Furthermore, it analyzes the price chart and points out major price fluctuations and uses a stock news API to get correlated news for that price change. There is also an industry average analyzer that, given a market cap and industry, it finds all relevant companies and pulls the average values for each of their fundamentals. This can then be used to compare individual stocks within the industry to get a better financial sense of how a company is doing. This practice is commonly used in accounting for horizontal and trend analysis.
About
This was a team project under the name Stone-Face-Emoji 🗿
completed for the Hack 112 competition at Carnegie Mellon University.
The project placed 2nd in the awards ceremony.
Contributors: George Gao, Shivank Joshi, Bryce Yeazell
The project's goal was to analyze a given excerpt and
then tell the user what genre that excerpt came from.
The project ran in 3 parts. The first part was webscraping.
This was handled by me (George). The code simply ran through
a website gathering excerpts from books of popular genres
and assimulated them into a text file. This was done with the
help of selenium, beautiful soup, and requests.
The second part handled processing all the data to build
a database for each genre of a book and was handled mostly
by Shivank. He used TextBlob to read and analyze the
excerpts and assigned 'scores' to each excerpt based
on a few different catagories such as gramatical syntax,
sentence structure, etc. He stored the scores in a seperate
text file.
The final part, the UI was designed by Bryce.
We used a modified tkinter module designed by Carnegie Mellon University.
It prompts users to enter an excerpt, and would return an image,
as well as a guess as to which genre the excerpt had came from.
Updated UI was done by me.
Note: This project is far from perfect as it was the first
'large' project I attempted.
Further note, the longer a given excerpt to analyze the higher
the chance it will be closer to what the original book is.
The above image demonstrates the simple UI of the program. After inserting an excerpt from a Lord of the Rings passage, we are greeted with the program's guess as to what genre the passage best fits to. In this case, the program states that the passage fits the horror genre.
Github link
About
This website was a summer project I tackled alongside a friend, Frank Yang, in an attempt to learn Html, Javascript, and CSS.