Gregory
Mierzwinski

January 2016 - Present
Mozilla Firefox Code Coverage Project
  This project involves implementing various aspects of code coverage collection of the Mozilla Firefox codebase. The tasks are divided into three main categories: i) collection, ii) parsing, iii) presenting. Much of the recent work has been done alongside students that are in the Undergraduate Capstone Open Source Project. I was also in this program as a student from January 2016 to May 2016 as part of a project course in school and continued working on it after the end of the course. I was then brought on as a mentor for other incoming students in the Firefox Code Coverage Project.

  The majority of the work that I've done was in the back-end of the project which dealt with the collection of code coverage. For example, I was tasked with creating two new tasks on the distributed computing infrastructre, TaskCluster, called 'linux64-ccov', and 'linux64-jsdcov' that generate different types of code coverage artifacts. There are many other tasks I had that involved implementing per-test code coverage in different test suites also.

  Here is a link that gives a general description of the coverage generation, collection, and presenting:
    Measuring Code Coverage on Firefox
September 2016 - Present
Pupil-Lib: Data Segmentation/Epoching/Trialing Software for Eye Tracking
  As my honors dissertation (small version of a master thesis), I chose to develop open-source software that can be used to break raw eye tracking data streams into segments or trials defined by event markers that denote events occuring in the real-world. The reason behind doing this project is that there currently exists an affordable eye tracker developed by Pupil Labs, but it lacks the capability to have it's data broken down into trials based on outside markers. I've implemented a processing library called Pupil-Lib that does exactly this. I developed a simple TCP transmission system that experiments can use to trasmit event markers between the recording and stimulation device and it also has a marker outlet stream that can be used with Lab Streaming Layer (LSL). Pupil-Lib uses a flag to distinguish between which type of data is being loaded. After the data is loaded into the library, the event markers can be used to segment data from the raw stream and process those segments in various ways. For example, it can remove baseline measurements and produce data that is represented as a percent change relative to the baseline means of each of the trials.

  Development is still continuing to produce a Python version of the software as it is currently only available in Matlab. There are also other small improvements that will need to be made in order to ensure that the segments are as precise and error-free as possible. The library (which is heavily documented and much more information) can be found through the following link: Pupil-Lib
January 2017 - May 2017
Treasure Trails
  For a software engineering course, and in groups, we were given a term project that involved producing some form of software. The group that I was with chose to build a game that takes place within a 2D version of the Bishop's University campus (only a partial section). It is essentially a treasure hunt that brings you across the Bishop's campus in search of a missing marker. Along the way, coins can be gathered that give the user the ability to purchase bonuses from the in-game shop. The game uses the Slick 2D wrapper for LWJGL (Lightweight Java Graphics Library) which provided us with the foundations that allowed us to build the game quickly.

  I was tasked with building the 2D map of bishop's and handled most of the graphics design work. Alongside the graphics design work, I also implemented NPCs, the in-game shop, additional post-game content, resource pre-loading, localization, testing methods, and various bugs. The game can be found at the following location, and it must be compiled from source (if you'd like an executable, email me): Treasure Trail