Colorado School of Mines August 2018 - May 2019 (projected)
M.S. Computer Science
I am working with Dr. Dinesh Mehta on a project to automate group selection for projects in CSCI 406 Algorithms.
I am serving as the Chair of the Mines ACM Student Chapter, the Linux Help Guru of the Linux Users Group, and Service Chair of the Mines chapter of the Tau Beta Pi Honor Society.
- Advanced High Performance Computing
- Parallel Computing*
- Advanced Computer Architecture*
- Abstract Algebra
- Theory of Computation
- Theory of Cryptography*
- Human-Centered Robotics*
Colorado School of Mines July 2016 - May 2018
B.S. Computer Science, 3.9 GPA
I graduated with a degree in Computer Science from Colorado School of Mines. I was awarded the Outstanding Graduating Senior award for Computer Science.
As a student I served one year as the Vice President of the Mines ACM Student Chapter and one and a half years as Secretary of the Mines Linux Users Group (LUG). I made Dean’s List every semester of my undergraduate studies.
Notable classes I have taken include:
- Operating Systems
- Computer Graphics
- Computer Simulation
- Virtual Reality
- Principles of Programming Languages
- Artificial Intelligence
- Software Engineering & Advanced Software Engineering (Field Session)
- Computer Organization
- Linear Algebra
- Data Structures
Red Rocks Community College August 2012 - May 2016
CSM Transfer Program, 4.0 GPA
Through high school, I took classes at Red Rocks Community College via the transfer program between Colorado School of Mines and Red Rocks. I was a member of the Phi Theta Kappa Honor Society for three years.
- Spanish Language I and II
- Calculus I, II, III, and Differential Equations
- Chemistry I and II
- Calculus-Based Physics I and II
|Design:||Protocol Specification Requirements Gathering Implementation Specification Mockups|
|Operating Systems:||Linux macOS Windows|
|Tools:||Vim Visual Studio Git Sublime Text|
Software Engineer Starting June 2019
I will be starting full time at The Trade Desk in June of this year as a Software Engineer.
Instructor (Programming Languages) January 2019 - Present
I am teaching a section of CSCI 400 Principles of Programming Languages this semester. Topics that the class covers include: programming language concepts, evaluation, and implementation; OOP; Lambda Calculus; and Racket (a LISP dialect).
Instructor (Algorithms) August 2018 - December 2018
I taught a section of CSCI 406 Algorithms in Fall of 2018. Topics that the class covers include: analysis of algorithms, evaluation of data structures, sorting algorithms, dynamic programming, graph algorithms, and NP-completeness.
Software Engineering Intern May 2018 - August 2018
I worked on the Infra pod on the Tracker team, the team responsible for developing Pivotal Tracker. I anchored the development of a new system for imaging workstations for consistent workflows on all machines used by the Tracker team. I also participated in a LEAN Product process to determine the needs of the Tracker team.
CS@Mines on Tour Presenter January 2017 - May 2018
I gave presentations to high school students about the Computer Science Department at Mines. I also led computer science related workshops for middle school students.
Teachers Assistant (Data Structures) August 2017 - May 2018
I assisted students during TA office hours and during the in-class lab sessions. I was nominated for the Student Employee of the Year by CPW, the faculty member responsible for the course.
Software Development Intern June 2017 - August 2017
I contributed to OSS projects including React and Node.js on behalf of Kenzan. I also worked to improve the Kenzan.com website by implementing a CI/CD Jenkins pipeline with a WebPack build.
Software Developer February 2013 - August 2016
I worked on the Teller Development Team designing and building new features for Teller, an enterprise point-of-sale system geared towards municipal governments.
Visplay is a Mines ACM project. It’s goal is to create a digital signage system with a dynamic, hierarchical configuration system which can be used in a wide variety of hardware and infrastructure configurations.
I worked on the initial design of the overall architecture of the project. I have also contributed in a project management role. I have worked on the Python components of the project which consume the configuration files and generate playlists. Currently, I am leading development of the web configuration frontend.
Tracktime is a filesystem-backed time tracking solution with a command line interface. It uses a sane directory structure to organize CSV files that store time tracking data for each day.
Tracktime allows you to start, stop, resume, and list time entries for a given day. You can also generate reports for a given month in the reStructuredText, PDF, or HTML formats (optionally restricted to a particular customer). Tracktime also allows you to synchronise the time spent on each issue/merge request to GitLab using the GitLab Time Tracking API.
This project won Second Place at HackCU V.
MLocate is a comprehensive system for tracking and locating devices within an indoor space just using Wi-Fi ping signals. Using three specially configured Wi-Fi access points, we were able to capture signal strength from every device in the room by MAC address. Then, applying Radio Signal Strength Indication (RSSI) models, we were able to derive distance from signal strength which allowed us to use standard triangulation algorithms for determining the location of all of every device in the room.
I worked on the triangulation logic for pinpointing device locations given distances calculated from signal strength. I also built the web frontend for displaying device locations.
This project won First Place at the Facebook Global Hackathon Finals at Facebook HQ.
HypAR Map helps users navigate around unfamiliar locations by overlaying a map of the area using augmented reality. The map can come from any photo (for example, a fire escape plan) and is calibrated using an intuitive user interface. HypAR Map then uses simultaneous location and mapping to find and display the location of the user in the map in real-time.
I worked on the image import functionality and worked with all of the members of the team to ensure that everything connected properly.
HypAR Map was a hackathon project by Sam Sartor, Jack Garner, Fisher Darling, and myself. We developed it during a 24 hour period at the Facebook Global Hackathon Finals at Facebook HQ in Menlo Park, CA.
Watch our demo here (our demo starts at ~3:30):
This project won Best Use of GCP and the Facebook Best Social Good Hack award at MHacks.
Datanium is a large-scale network of Raspberry Pis which allow for human-powered transfer of data between places with internet access and places which do not. In the Datanium ecosystem, there are two different types of users: consumers and couriers. Consumers request data, and Datanium ensures that couriers move the requested data to the Datanium Node closest to the consuming user. Datanium does this coordination using only SMS.
I worked on the web frontend for requesting and uploading data to the Datanium nodes.
This project won Judges Favorite, Best Use of AWS, and the Dish Network sponsor challenge at HackCU.
Wii-Track is a distributed inventory tracking system. It utilizes a WiiFit, Rasberry Pi, and Arduino to gather information about packages. All heavy computation is done on AWS Lambda and it uses the DynamoDB NoSQL database as a backend.
I worked on setting up the DynamoDB database and implemented a AWS Lambda function to identify packages by weight.
BlockMRS is a privacy concious, decentralized, blockchain-backed, medical record system for the 21st Century. It stores patient records in IPFS using asymmetric encryption giving patients control over their health data.
I led the development of the protocol specification for this decentralized system. I also built the system for storing encrypted medical records in IPFS.
We created our own library called flight for developing VR applications which implemented a new type of program architecture called Deferred Immediate Mode.
Parqyng Lots was the project that won the Grand Prize at the Xilinx Hackathon 2017. This project tracks the number of cars in an arbitrary number of parking lots with an arbitrary number of entrances to create an up-to-date picture of the parking situation.
I built the web frontend which provided a view of the parking lots’ status.
Watch our video here:
Wireless Debugging is a mobile SDK and sample web server for streaming mobile app logs to a web UI console. I worked on this project on a team of five CS students during Mines Computer Science Field Session. This project was done under supervision of Google.
We designed and built a mobile API, log parsing library, datastore interface, user management interface, and web app. I was the primary writer of the API Specification for communicating between each component. I also built the log parsing library and the mobile API implementation for iOS. I was involved in the development of the other components as well.
Dreams of Flight May 2014
I wrote this creative writing piece about Orville and Wilbur Wright and the first flight at Kitty Hawk for my Twentieth Century World History class in Fall 2013. I had written this piece for an assignment called A Picture is Worth a Thousand Words. We were tasked with writing an approximately 1000 word narrative from the perspective of a person in a significant photo from the 20th Century. Later in 2013 I was published in CLARO Red Rock Community College’s Interdisciplinary Scholarly Journal. In May 2014, I presented at the CLARO academic conference.
I gave this presentation at the Mines Cybersecurity Club (OreSec) with David Florness. We discussed the cryptographic theory behind PGP/GPG such as symmetric vs. asymmetric encryption and the PGP protocol. Then we had an interactive time where we showed how to use GPG.
I gave this presentation at the Mines Linux Users Group with Jordan Newport. We covered ZSH, an alternative shell to BASH. We discussed everything from the basics, to some really cool quality-of-life improvements which make using the shell enjoyable.
I gave this presentation at the Mines Linux Users Group with Joseph McKinsey. We gave an extensive introduction to the LaTeX typesetting language. We covered everything from the very basics of using LaTeX all the way up to advanced LaTeX topics such as using it for presentations!
I gave this presentation at the Mines Linux Users Group. I discussed the traditional motif for window management and then presented a better alternative: tiling window managers. I presented i3wm, my personal favourite tiling window manager. I talked about the pros of using it as well as how to use it and customize it.
I first gave this presentation at the Mines Linux Users Group with Sam Sartor. I also gave the presentation for the Wednesday tech talk while interning at Pivotal. In both talks, we covered Idris, dependent types, and using Idris as a proof assistant.
I gave this presentation at the Mines Linux Users Group with Robby Zampino. We covered the background and history of packages and package formats, and some of the new universal package formats: AppImage, Snaps, and Flatpak.
I gave this presentation at the Mines Linux Users Group with
We covered the background and history of filesystems and some current filesystems used in
Linux, Windows, and macOS. We also covered some more fringe filesystems like
ZFS and network filesystems such as Samba and
sshfs as well as virtual filesystems such as
Dreams of Flight May 2014
I presented my creative writing piece about Orville and Wilbur Wright at the 2014 CLARO academic conference. I had written this piece for an assignment called A Picture is Worth a Thousand Words. We were tasked with writing an approximately 1000 word narrative from the perspective of a person in a significant photo from the 20th Century.
Watch the video of my presentation here: