May 2021 - Present
PROFESSIONAL, SOFTWARE ENGINEER - CORELOGIC
My current position
April 2019 - March 2021
SYSTEM ENGINEER - UNISYS
Promoted from an associate system engineer, I was responsible for developing an API backend for a security product. In addition to what I was doing as an associate, I was also doing transfer of information (TOI) for stakeholders and field engineers and been adapting new technologies to meet technical and business requirements.
January 2017 - April 2019
ASSOCIATE SYSTEM ENGINEER - UNISYS
This position was transitioned from my student co-op position. The tasks and responsibilities were the same as the student co-op.
June 2014 - December 2016
STUDENT CO-OP - UNISYS
The student co-op position was with Unisys. As a first time position I've held in the tech industry, I learned the ability to fix bugs, write documentation on our products, and communicate current bugs, patches, and software implementation.
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.
While there's numerous variants of snake, I haven't really seen the case of a snake/match 3 game
The program was developed under Unity and C#.
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:
Reinforcement Learning (not yet developed)
The program is written in Python.
The following frameworks are used for this program:
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.
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.