Washington State University
Fall 2017 — Spring 2022 (expected)
Activities include: Cougs in Space (NASA CubeSat Initiative), Physics & Astronomy Club, Men's Rowing.
- Extensively used C#, both Mono and .NET, with MVC, Windows Services, and Winforms
- Knowledge of source control using Git and SVN—especially with Github, Bitbucket, and Microsoft TFS
- Deep understanding of C, C++, and Java on both Windows and Linux environments
- Created IP and testbenches using Verilog using Xilinx Zynq FPGAs, connected to software on the CPUs over AXI3/4
- Understanding of ARM subsystems and registers. Knowledge of I²C, UART, SPI, and other common protocols
- Basic SolidWorks design of parts/assemblies
- Beginner understanding of Python 2.7 and 3.x, with some experience using IPython/Jupyter notebooks
- Writing technical documentation using Confluence and LaTeX.
- Practicing agile methodology with scrum. Managing work using Jira and TFS.
Schweitzer Engineering Laboratories (SEL)Engineering Internship • Pullman, Washington
August 2019 — January 2020
Created simulations (testbenches) in VHDL and Verilog. Modified IP in Verilog using Xilinx Vivado for Zynq 7000-series FPGAs, using the AXI4-Lite interface for fast and efficient DAC access from PS to PL logic. Built experiments to test effectiveness of NEON instructions with a goal of improving IRQ run time. Refactored IRIG IP to use standard time (time.h) structs and types.
NASA Jet Propulsion Laboratory (JPL)
May 2019 — August 2019
Integrated Splunk into MaROS (Mars Relay Operations Service) to analyze log data. Built Python connectors between the diverse backend systems of MaROS and Splunk. Created client-side script to collect user data into Splunk. Created linear models to alert for potential future errors using Java Management eXtensions (JMX) data. Used Docker API to collect analytics on running containers. Built Docker images, init- and health-scripts for easy integration with in-house installers. Created documentation in Confluence and technical reports in LaTeX.
Washington State UniversityWeb Development, ASCC • Pullman, Washington
August 2018 — April 2019
Maintained existing web software using .NET used in Reinstatement and other academic success programs. Built several new web-applications in .NET and designed new schema in Microsoft SQL Server.
ThriftBooks.comSoftware Developer • Seattle, Washington
September 2015 — October 2017
January 2014 — September 2015
Designed and developed RESTful API using Node.js and Restify (previously PHP) to monitor hundreds of machines on a global network. Created front-end using AngularJS and Bootstrap following responsive design guidelines, while using Grunt to run various tasks. Focused on user-experience and scalability. Used both git and svn for source control. Managed MySQL server on Windows Server and Linux. Used Microsoft Dynamics NAV OData RESTful API with Node.js to create an interface for intranet users. Displayed machine documentation using Mozilla's PDF.js. Used Mocha framework for writing unit tests on the backend API.
August 2020 — present
A wrapper for the on-board ESP32 on the RealDigital Blackboard, a Xilinx Zynq development board. The library communicates with the ESP32 via UART and contains wrappers to implement the ESP32's AT command protocol. The wrapper allows developers to easily enable internet connectivity and perform HTTP operations.
Currently, the library contains basic functionality for establishing TCP sockets and a simple HTTP client.Blackboard-esp32 Github
Cougs in SpaceSoftware Development • Washington State University
Fall 2018 — Fall 2019
Periodically building software used in a small satellite (a 1U cubesat) launching in mid- to late-2020. Contributed to an interface for flashing devices in-space over JTAG using C++. Used Mbed OS libraries.Cougs in Space
Amada Miyachi IoT Demo
With a small team, we built a proof-of-concept IoT web application used to monitor welding machines. Used Express to serve documents from a MongoDB dataset. Created attractive & maintainable front-end with React and Recharts, streaming data with Socket.IO.
In an online team on Github, we began creating an open-source web client for the game Ultima Online. Uses React, and websockets to update a hierarchical Redux store. For 3D rendering, it uses react-three-renderer, an abstraction of Three.js for React. Utilized C++ for efficient native Node.js addons.UOJS2 Github