09/2018 - 06/2022
Degree: High School Diploma
Accomplishments:
04/2019 - 06/2022
Degree: Associate of Arts Degree
Accomplishments:
09/2022 - Present
Degree: Bachelor of Science (Computer Science) Degree
Accomplishments:
Clackamas Community College
09/2021 - 06/2022
Description:
Portland State University
06/2021 - 08/2021
Description:
Oregon State University
09/2023 - Present
Description:
Thermo Fisher Scientific
04/2024 - 09/2024
Description:
A live update of my current GitHub repository projects. Click on any of them, and you will be taken directly to the repository.
Highlighted projects that display my best skills.
This is a basic graphing application that is served on the web. It is written in basic HTML, CSS, and vanilla Javascript. Handlebars is used for templating and Express.js is used for routing and middleware functions. This app was written in a team of three others to develop the project in a group environment with consistent communication and a smooth process flow. This application allows a user to create scatter plots, line graphs, pie charts, and bar graphs. These graphs can be saved to a public page where users can like, search, and sort others graphs. Finally, users are able to create variations and their own versions of other people's graphs.
This is a basic quiz-creation and practice site. This was based on other apps such as Quizlet. This was written as a part of a three day long hackathon, which was written and developed in a team of three. This was written in HTML, CSS, and Vanilla Javascript, with Express.js used for routing and middleware functionality. Quizzes could be created, deleted, edited, and used to generate quizzes. Quizzes are tested using the OpenAI API, to test the ability of any definition, no matter its wording, to define a term.
This is an MP3 Player Application. It was written in C++ and utilized the Qt Framework to create a GUI. This application allows users to create an playlist containing MP3 files. A user can add songs to a playlist, remove songs from a playlist, and edit the order of songs in a playlist. Playlists can be imported, exported, and rewritten. Additionally, the user has the ability to sort through playlists based on the name of a song, the name of the album the song is contained in, or the name of the artist that performed the song. The user can skip, rewind, play, and pause songs, as well as randomize the order of songs and apply equalizer settings to a song which can be later saved. This project was created in a team of six over the course of seven weeks using Scrum and other Agile methodologies.
This is my own personal home server. This is a device with Ubuntu Server running. It has been setup to automatically update at regular intervals, and shutdown at certain times, through the use of cron. This server runs Docker, which, through the use of docker-compose, starts up several containers on startup. This server is responsible for running VaultWarden, an open source password manager, Nextcloud, an open source cloud-based storage application, Portainer, an application that provides a GUI for docker management, and Nginx Proxy Manager which is used for providing TLS/SSL certificates for all of the services, allowing secure https access to my services. These services have been personally setup and are actively maintained by myself. The server also hosts a Kali Linux Virtual Machine, which is managed by the Virsh Hypervisor. This virtual machine is used for writing code, performing tests, and experimenting with the cybersecurity tools provided by default in Kali Linux.
This is a brief description of my personal working network. I have setup PiHole to provide ad-blocking and to more easily resolve DNS queries using Unbound, which saves IP addresses associated with certain domains. PiHole also saves an IP table for DNS sub domain queries to properly resolve them and route them through the TLS proxy. A PiKVM is also a component of the network, which allows me to have remote access to my home server from any location. This device is also automated (through systemd timers) to automatically startup the homeserver at specific times. The final component of this network is a Tailscale VPN client, which is installed on several devices, and allows communication throughout the network through obstacles such as NAT. It allows PiHole to block ads and manage DNS no matter the location of a device. It also allows devices such as my homeserver and its services to be usuable remotely, even when hidden from the wider internet and other users.
A list of the tools, frameworks, and programming languages I have used and learned in the past.