top of page

PROFESSIONAL EXPERIENCE

pp-logo-200px_edited.png

August 2022 - Present

SOFTWARE ENGINEER 3 - PAYPAL

314px-CoreLogic_logo.svg.png

May 2021 - August 2022

PROFESSIONAL, SOFTWARE ENGINEER - CORELOGIC

1625174595306.jpeg

April 2019 - March 2021

SYSTEM ENGINEER - UNISYS

January 2017 - April 2019

ASSOCIATE SYSTEM ENGINEER - UNISYS

June 2014 - December 2016

STUDENT CO-OP - UNISYS

CV: CV

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.

CV: List

Subscribe Form

Thanks for submitting!

©2021 by Joseph Woolf

bottom of page