PROFESSIONAL EXPERIENCE
August 2022 - Present
SOFTWARE ENGINEER 3 - PAYPAL
May 2021 - August 2022
PROFESSIONAL, SOFTWARE ENGINEER - CORELOGIC
April 2019 - March 2021
SYSTEM ENGINEER - UNISYS
January 2017 - April 2019
ASSOCIATE SYSTEM ENGINEER - UNISYS
June 2014 - December 2016
STUDENT CO-OP - UNISYS
SIDE PROJECTS
MATCHAPEDE
Hybrid between snake and match 3
Converse your centipede through 12 levels as you collect food, create matches with the same colors, and perform cascades to complete objectives.
Objectives can include:
Making a number of matches.
Making a number of cascades. Sometimes even consecutively.
Matching a certain number of pieces.
Obtaining a minimum score.
Completing a level under a time limit.
Why?
While there's numerous variants of snake, I haven't really seen the case of a snake/match 3 game
Programming Languages
The program was developed under Unity and C#.
JEWEL1AI
The self-playing Bejeweled 1 Bot
Jewel1AI is a AI bot that plays Bejeweled 1. It uses OpenCV to act as the program’s “eyes” and pyautogui as the program’s “mouse.”
There is currently one AI variant available with another one planned:
Rule-based
Reinforcement Learning (not yet developed)
Programming Languages
The program is written in Python.
Frameworks
The following frameworks are used for this program:
OpenCV
pyautogui
Numpy
NAVICOM SF 3050 GPS DRIVERS
Software drivers for the Navicom SF 3050 GPS device
When I was in my fourth year of college, I was recruited into a team project on building a rover for the Intelligent Ground Vehicle Competition (IGVC). My responsibility was supplying the drivers for the Navicom SF 3050 GPS device. Since the drivers were only built for Windows, I had to develop a kernel driver for Linux.
The driver is derived from a template from one of Greg Kroah-Hartman’s kernel examples. The only differences are the changed driver name and additional code to handle the two interfaces. I also added a user level library for getting certain attributes from the GPS.
Programming Languages
There are two components that make up this project:
The kernel driver is written in C
The user library is written in C++
Please note that C at the kernel level is very different than at the user level.